Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry...

33
Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis Product Manager Mark Sohm Developer Relations December 6th, 2012

Transcript of Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry...

Page 1: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager

Mark Sohm – Developer Relations

December 6th, 2012

Page 2: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM Agenda

$$$

2

developer.blackberry.com/bbm

Why. How. What.

Page 3: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM: A Vibrant Social Network

60 Million+ Monthly Active Users

2 Million+ New users every month

70% of BBM users use BBM daily

> 150B messages sent/month

+1% of Apps are BBM Connected

…But they make up 20% of App World Downloads!

3

Page 4: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

The BBM Social Platform

Discoverability

Engagement

App Stickiness

Monetization

Integrated. Social. Beautiful.

Page 5: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Foursquare

5

DOUBLE the downloads in a singe day!

“Adding BBM API’s took 30 minutes”

Page 6: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Nobex Radio

6

52% increase in downloads after integrating with BBM

Page 7: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

7

An Example – Bucket List

My Device BBM Friend’s Device

Page 8: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM Social Platform APIs

Available Now!

BBM Contact List & Invitations

User Profile Updates

Application Box Updates in User Profile

8

Page 9: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Is it hard to use?

9

Source: By New York Zoological Society (Picture on Early Office Museum) [Public domain], via Wikimedia Commons

developer.blackberry.com/bbm

BBM SDK is now

Integrated into NDK

One Download.

One Tool.

Page 10: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM Social Platform APIs

BlackBerry 10

C BlackBerry Platform Services (bps) APIs

Add to existing applications using bps

Qt style APIs

Integration with Cascades applications

WebWorks APIs

BlackBerry OS 5-7

Java APIs

WebWorks APIs 10

Page 11: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM Social Platform APIs

Use the BBM SP seamlessly between BlackBerry 10 and BlackBerry OS 5-7!

11

BBM Social Platform

IMPORTANT – Use the same SKU in App World!!!

Page 12: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Registration

First step for any BBM Social Platform application

User must allow the registration

User can enable/disable BBM SP access at any time

12

Page 13: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Registration

//TODO: Define your own UUID. You can generate one here:

// http://www.guidgenerator.com/

QString m_uuid = QString::fromUtf8("c0fef20e-5f94-4eb1-be1e-e055f2c2391c");

bb::platform::bbm::Context* m_context = new bb::platform::bbm::Context(QUuid(m_uuid));

QObject::connect(m_context, SIGNAL(registrationStateUpdated(bb::platform::bbm::RegistrationState::Type)),

this, SLOT(registrationStatus(bb::platform::bbm::RegistrationState::Type)));

13

Page 14: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Registration

if (!m_context.isAccessAllowed() &&

m_context.registrationState() !=

RegistrationState::Unknown)

{

// Status is not yet known. Wait for an event that will

// deliver the status, otherwise start registration.

m_context.requestRegisterApplication()

}

14

Page 15: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Registration

//Receive Registration Response

void RegistrationHandler::registrationStatus

(bb::platform::bbm::RegistrationState::Type state) {

switch(state){

case bb::platform::bbm::RegistrationState::Allowed:

//Success!!!

break;

//… Also handle errors and pending states.

}

}

15

Page 16: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Invite to Download

Users can invite their BBM contacts to download your app

Integrates directly with BlackBerry App World

Viral Distribution

16

Page 17: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Profile Boxes

BBM SP Connected apps are listed in a users BBM Profile

Add items within your app’s Profile Box

Achievements, high scores, current track, important news

17

Page 18: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Profile Boxes

//Create a profile box with item

bb::platform::bbm::ProfileBox* m_profileBox m_profileBox = new

bb::platform::bbm::ProfileBox(m_context, this);

m_profileBox->requestRegisterIcon(iconId[id],

bb::platform::bbm::ImageType::Png, iconArray);

m_profileBox->requestAddItem(QString(“New High Score: 2!"),

QString(iconId[id]), QString("cookie").append(iconId[id]));

18

Page 19: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Profile Page

Access and customize the users BBM Profile Page

Avatar Image

Status Message

Personal Message

Availability

Handle (read only)

19

Page 20: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Profile Page

//Grab the user's Profile.

bb::platform::bbm::UserProfile m_userProfile = new

bb::platform::bbm::UserProfile(m_context, this);

//Update the user's personal message.

m_userProfile->requestUpdatePersonalMessage("New Message");

20

Page 21: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Contacts

Obtain a list of BBM contacts that have the application installed and registered

Listen for changes to profiles of these contacts

Status change to -> “Wants to play SlingShot 5000 with someone”

Local app could prompt the user to start a multiplayer game

21

Page 22: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Invoking BBM

22

Use the Invocation Framework to

Invoke the BBM Client to…

• Start with specific contact(s)

• Start chat, user chooses contact(s)

• Set BBM Avatar Image

• Invite Contact to BBM

• Share Text with contact(s)

• Starts chat with pre-populated

message

• Share Image with contact(s)

Page 23: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Invoking BBM

23

Start a BBM Chat

InvokeActionItem {

title: "Start BBM Chat"

query {

invokeActionId: "bb.action.BBMCHAT"

uri: "pin:2100000a"

}

}

Page 24: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Invoking BBM

24

Set BBM Avatar Image

InvokeActionItem {

title: "Set BBM Avatar Pic"

query {

invokeTargetId: "sys.bbm.imagehandler"

invokeActionId: "bb.action.SET"

uri: "file:///path/to/the/file.png"

}

}

Page 25: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Invoking BBM

25

Invite to BlackBerry Messenger

InvokeActionItem {

title: "Invite to BBM"

query {

invokeActionId: "bb.action.INVITEBBM"

uri: "pin:2100000A"

}

}

Page 26: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Invoking BBM

26

Share Text over BBM

InvokeActionItem {

title: "Share Text Over BBM"

query {

mimeType: "text/plain"

invokeTargetId: "sys.bbm.sharehandler"

invokeActionId: "bb.action.SHARE"

data: "This is some text to share."

}

}

Page 27: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Invoking BBM

27

Share Image over BBM

InvokeActionItem {

title: "Share Image Over BBM"

query {

invokeTargetId: "sys.bbm.sharehandler"

invokeActionId: "bb.action.SHARE"

uri: "file:///path/to/image/file.png"

}

}

Page 28: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

Invoking BBM

28

Using Dynamic Data

InvokeActionItem {

title: "Share Text Over BBM"

query {

mimeType: "text/plain"

invokeTargetId: "sys.bbm.sharehandler"

invokeActionId: "bb.action.SHARE"

data: "This is some text to share."

}

onTriggered: {

data = "Some new text"

}

}

Page 29: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Roadmap - Features

Feature Native & Java Availability

BlackBerry 10 BlackBerry OS 5-7

Registration

Profile Boxes

Profile Page

Invite to Download

Channels

Sessions

BBM Chat Post BlackBerry 10 Launch

Invite to BBM Post BlackBerry 10 Launch 29

Page 30: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Roadmap - Features

Feature WebWorks Availability

BlackBerry 10 BlackBerry OS 5-7

Registration

Profile Boxes Planning

Profile Page

Invite to Download

Channels

Sessions

BBM Chat Post BlackBerry 10 Launch

Invite to BBM Post BlackBerry 10 Launch 30

Page 31: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

BBM SP Roadmap - Tools

31

Tool Platform Availability

BlackBerry 10 BlackBerry OS 5-7

Native SDK

WebWorks SDK

Java SDK

Page 32: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

For More Information…

Live Forum Support Today (Dec 6) between 1pm and 3pm Eastern Time for BBM Development Questions

http://supportforums.blackberry.com

We want to hear from you!

Let us know about the cool things you’ve done!

[email protected] - @nickkalkounis

MSohm in the BlackBerry Developer Forums

32

Page 33: Learn Live: How To Make your BlackBerry 10 App Go Viral!...Learn Live: How To Make your BlackBerry 10 App Go Viral! Nick Kalkounis – Product Manager Mark Sohm – Developer Relations

THANK YOU

Nick Kalkounis – Product Manager

Mark Sohm – Developer Relations

December 6th, 2012