Keith Bauwise
CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung TechnologiesCopyright © 1995-2012 SAMSUNG Al...
CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung TechnologiesCopyright © 1995-2012 SAMSUNG Al...
Each with its own ecosystem            Now
Readers Hub   Samsung Apps            Music Hub                                Game Hub                                   ...
Monetization: InApp PurchaseIn App Purchase offers an easy and effective way to monetizewhile keeping users interested and...
Monetization: AdHubMobile & Tablet PC AdvertisingMonetize Applications with Easy-to-use Tools Mobile & Tablet Device      ...
Monetization: Try’n Play & Rent’n PlayTime-limited application trying or renting.Apps can be used for certain period and e...
CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung TechnologiesCopyright © 1995-2012 SAMSUNG Al...
Samsung Ecosystem        TECHNICAL                                    APP        RESOURCES                                ...
Development ProcessDevelop       Test    Publish   Promote
developer.samsung.com
Development ProcessDevelop       Test    Publish   Promote
RTL (Remote Test Lab)
Development ProcessDevelop       Test    Publish   Promote
Submit App
Submit App                                                    Certification Process                                       ...
Certification Process
Development ProcessDevelop       Test    Publish   Promote
MARKETING SUPPORT: PROMOTIONBoost sellers’ profit by providing a variety of promotion opportunitiesthrough seasonal/theme ...
MARKETING SUPPORT: BANNER/FEATURESelect high quality apps to be bannered/featured to maximizethe degree of exposure of app...
MARKETING SUPPORT: SOCIAL MEDIAGet connected with Samsung Apps Fans or Followers for the latestSamsung Apps news, events a...
CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung Technologies                                ...
S PenCopyright © 1995-2012 SAMSUNG All rights reserved
WHAT IS S PEN?A New type of input deviceEMR (Electromagnetic Resonance) Solution- Based on dual capacitive touch and EMR p...
APPLICATION AREA EXTENSIONVarious possibilities with the S Pen in various app categoriesGraphics                   Memo & ...
NEW UX SCENARIO : BASICINTERACTIONCan replace existing touch input methods                                    XX : 0.0    ...
New UX Scenario: Pen HoveringRecognize pen events without contact                          No contact             Screen
New UX Scenario: Side ButtonRecognize the side button with or without contact Side Button Recognition                     ...
USING SDKTo get the new version of the S Pen SDK, please visit : - http://developer.samsung.com/android/spen.sdkContents o...
USING SDKAdding the JAR file to your project           Java Build Path   Libraries      Add External JARs   libspen22.jar ...
CODESample app
CODE1. Add SCanvasView in layout xml               Graphical layout
CODE2. Packages to import Import com.samsung.spensdk.* Import com.samsung.sdraw.* Packages to use S Pen features import   ...
CODE3. Initialize controls  @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedIn...
CODE4. Image button handler OnClickListener imageBtnClickListener = new OnClickListener() {     @Override     public void ...
CODE5. Pen/Eraser button handler OnClickListener mBtnClickListener = new OnClickListener() {   @Override   public void onC...
CODE6. Undo/Redo button handler private OnClickListener undoNredoBtnClickListener = new OnClickLis tener() {     @Override...
CODE7. Final app - output
ChatONCopyright © 1995-2012 SAMSUNG All rights reserved
ChatON Main Features  Multi & Cross Platform     Enhanced 1:1 &     Multimedia Content Sharing &   Messaging Service      ...
The ChatON APIOpen APIs allowing 3rd party apps to…  Access ChatON services and user base  Utilize ChatON features (messag...
The ChatON API: Server-side and Client-side     ChatON Service                      3rd Party Apps                        ...
Client-side API          •Get buddy list           •Get my profileGraph          •Get profile picture          •Add buddy ...
1. Get Buddy ListClient-side API                                             Graph API  GraphAPI.addBuddy(context, phoneNu...
CODEpublic void clickHandler(View v) {    if( mEditPhoneNumber == null ) {                   return;    }    String phoneN...
1. Get Buddy ListClient-side API                                                 Message API  MessageAPI.sendTextMessageWi...
CODEpublic void clickHandler(View v) {    if( mEditSendText == null || mEditSendUrl == null ) {    return;    }    String ...
1. Get Buddy ListClient-side API                                                                    Utility APIMessageAPI....
USING SDKTo get the new version of the ChatON SDK, please visit : - http://innovator.samsungmobile.com/clientApi.do?platfo...
Using ChatON API1. Request API Access Key2. Download and include ChatONAPI.jar library3. Include access key into AndroidMa...
developer.samsung.comCopyright © 1995-2012 SAMSUNG All rights reserved
Wrap-upSTUDENT DEVELOPER CHALLENGE                  DEVELOPMENT PROCESSDEVELOPER SUPPORT          S PEN                   ...
Keith Bauwise   keith.b@partner.samsung.com   developer@samsung.com   http://developer.samsung.com
Student Developer Challenge
Student Developer Challenge
Upcoming SlideShare
Loading in …5
×

Student Developer Challenge

527 views

Published on

SERI Presentation covering Samsung Apps, the S Pen and ChatOn features.

Published in: Entertainment & Humor
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
527
On SlideShare
0
From Embeds
0
Number of Embeds
95
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Student Developer Challenge

  1. 1. Keith Bauwise
  2. 2. CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung TechnologiesCopyright © 1995-2012 SAMSUNG All rights reserved
  3. 3. CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung TechnologiesCopyright © 1995-2012 SAMSUNG All rights reserved
  4. 4. Each with its own ecosystem Now
  5. 5. Readers Hub Samsung Apps Music Hub Game Hub Learning HubMedia Hub
  6. 6. Monetization: InApp PurchaseIn App Purchase offers an easy and effective way to monetizewhile keeping users interested and involved in an app. or
  7. 7. Monetization: AdHubMobile & Tablet PC AdvertisingMonetize Applications with Easy-to-use Tools Mobile & Tablet Device bada & Android OS Various Types of AD Support for several Click-to-actions Mobile Mobile TV In App Web In App Landing Page App down Call
  8. 8. Monetization: Try’n Play & Rent’n PlayTime-limited application trying or renting.Apps can be used for certain period and extended.* Application information may differ from the actual product appearance. 11 / 문서의 제목
  9. 9. CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung TechnologiesCopyright © 1995-2012 SAMSUNG All rights reserved
  10. 10. Samsung Ecosystem TECHNICAL APP RESOURCES MARKET SDKs / IDEs Samsung Apps Technical Contents Multiple Devices Developer Events Multiple Platforms REVENUE TECHNICAL MODELS SUPPORT Direct App Sales developer.samsung.com AdHub Premium Support Service In-App Purchase
  11. 11. Development ProcessDevelop Test Publish Promote
  12. 12. developer.samsung.com
  13. 13. Development ProcessDevelop Test Publish Promote
  14. 14. RTL (Remote Test Lab)
  15. 15. Development ProcessDevelop Test Publish Promote
  16. 16. Submit App
  17. 17. Submit App Certification Process App PublicationCopyright © 1995-2012 SAMSUNG All rights reserved
  18. 18. Certification Process
  19. 19. Development ProcessDevelop Test Publish Promote
  20. 20. MARKETING SUPPORT: PROMOTIONBoost sellers’ profit by providing a variety of promotion opportunitiesthrough seasonal/theme promotions or seller promotions Seasonal/Theme Promotions Seller Promotions
  21. 21. MARKETING SUPPORT: BANNER/FEATURESelect high quality apps to be bannered/featured to maximizethe degree of exposure of apps in the storefront. 50 개국 (1/19) 24 / 문서의 제목
  22. 22. MARKETING SUPPORT: SOCIAL MEDIAGet connected with Samsung Apps Fans or Followers for the latestSamsung Apps news, events and any on-going promotions through SNSmarketing activities twitter.com/samsungapps youtube.com/samsungapps
  23. 23. CONTENTS1. Opportunity: Samsung Apps2. Developer Support3. Innovative Samsung Technologies S Pen ChatONCopyright © 1995-2012 SAMSUNG All rights reserved
  24. 24. S PenCopyright © 1995-2012 SAMSUNG All rights reserved
  25. 25. WHAT IS S PEN?A New type of input deviceEMR (Electromagnetic Resonance) Solution- Based on dual capacitive touch and EMR pen technologyAdvantages of S Pen Precise and quick response 1 Supports pen pressure No power consumption 2 Lightweight hardware Side button, pen hovering 3  A new UX
  26. 26. APPLICATION AREA EXTENSIONVarious possibilities with the S Pen in various app categoriesGraphics Memo & Game PlannerSNS Education B2B
  27. 27. NEW UX SCENARIO : BASICINTERACTIONCan replace existing touch input methods XX : 0.0 : 130.0 590.0 Y :Y1060.20 Y : 1160.20 960.20 850.36 750.36 650.36 550.36 450.36 350.36 250.36 150.36 : 0.0 Activation, Touch Pen Coordinates, Pressure
  28. 28. New UX Scenario: Pen HoveringRecognize pen events without contact No contact Screen
  29. 29. New UX Scenario: Side ButtonRecognize the side button with or without contact Side Button Recognition Call a Function
  30. 30. USING SDKTo get the new version of the S Pen SDK, please visit : - http://developer.samsung.com/android/spen.sdkContents of the SDK libspen22.jar Sample Dev Guide Application (with source code)
  31. 31. USING SDKAdding the JAR file to your project Java Build Path Libraries Add External JARs libspen22.jar Libraries Java Build Path libspen22.jar Add External JARs…
  32. 32. CODESample app
  33. 33. CODE1. Add SCanvasView in layout xml Graphical layout
  34. 34. CODE2. Packages to import Import com.samsung.spensdk.* Import com.samsung.sdraw.* Packages to use S Pen features import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.RelativeLayout; import com.samsung.spensdk.SCanvasConstants; import com.samsung.spensdk.SCanvasView; public class MainActivity extends Activity {
  35. 35. CODE3. Initialize controls @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImageBtn = (Button) findViewById(R.id.buttonImage); mImageBtn.setOnClickListener(imageBtnClickListener); mSCanvas = (SCanvasView) findViewById(R.id.canvas_view); mPenBtn = (Button) findViewById(R.id.buttonPen); mPenBtn.setOnClickListener(mBtnClickListener); mPenBtn.setTextColor(Color.WHITE); mEraserBtn = (Button) findViewById(R.id.buttonEraser); mEraserBtn.setOnClickListener(mBtnClickListener); ...
  36. 36. CODE4. Image button handler OnClickListener imageBtnClickListener = new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); startActivityForResult(intent, SELECT_PICTURE_ACTIVITY_REQUEST_CODE); } }; @Override protected void onActivityResult(int requestCode, int resultCode, Intent imag eReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); if( (resultCode == RESULT_OK) && (requestCode == SELECT_PICTURE_ACTIVITY_REQUEST_CODE) ) { Uri selectedImage = imageReturnedIntent.getData(); ... mSCanvas.setData(buffer); } }
  37. 37. CODE5. Pen/Eraser button handler OnClickListener mBtnClickListener = new OnClickListener() { @Override public void onClick(View v) { int nBtnID = v.getId(); // If the mode is not changed, open the setting view. If the mode is same, close the setting view. if(nBtnID == mPenBtn.getId()){ if(mSCanvas.getCanvasMode()==SCanvasConstants.SCANVAS_MODE_ INPUT_PEN){ mSCanvas.toggleShowSettingView(SCanvasConstants.SCANVAS_SET TINGVIEW_PEN); } else{ mSCanvas.setCanvasMode(SCanvasConstants.SCANVAS_MODE_INPUT_ PEN); mSCanvas.showSettingView(SCanvasConstants.SCANVAS_SETTINGVI EW_PEN, false); updateModeState(); } ...
  38. 38. CODE6. Undo/Redo button handler private OnClickListener undoNredoBtnClickListener = new OnClickLis tener() { @Override public void onClick(View v) { if (v.equals(mUndoBtn)) { mSCanvas.undo(); } else if (v.equals(mRedoBtn)) { mSCanvas.redo(); } mUndoBtn.setEnabled(mSCanvas.isUndoable()); mRedoBtn.setEnabled(mSCanvas.isRedoable()); } };
  39. 39. CODE7. Final app - output
  40. 40. ChatONCopyright © 1995-2012 SAMSUNG All rights reserved
  41. 41. ChatON Main Features Multi & Cross Platform Enhanced 1:1 & Multimedia Content Sharing & Messaging Service Group Chat Trunk Animation Message (AMS) Anicon (Animated Emoticons)
  42. 42. The ChatON APIOpen APIs allowing 3rd party apps to… Access ChatON services and user base Utilize ChatON features (messaging, etc.) ChatON Service 3rd Party Apps API
  43. 43. The ChatON API: Server-side and Client-side ChatON Service 3rd Party Apps API Client-side API Server-side API
  44. 44. Client-side API •Get buddy list •Get my profileGraph •Get profile picture •Add buddy •Open a chat room •Sent multimedia messageMessage •Send text message •Sent multimedia message •Send text message with url with textUtility •Check ChatON installation •Open ChatOn download page
  45. 45. 1. Get Buddy ListClient-side API Graph API GraphAPI.addBuddy(context, phoneNumber) The following steps describes how to add a buddy to my buddy list: 1.Select AddBuddy 2.Type in the buddy’s phone number 3.Click “Add Buddy” button 4.Add Buddy screen gets displayed 5.Click “+” button to complete add buddy
  46. 46. CODEpublic void clickHandler(View v) { if( mEditPhoneNumber == null ) { return; } String phoneNumber = mEditPhoneNumber.getText().toString(); switch(v.getId()) { case R.id.buttonAddBuddy: // call addBuddy API int nResult = GraphAPI.addBuddy(this, phoneNumber); if( nResult == ChatONAPI.RESULT_CODE_FAIL_EXCEPTION_ILLEGAL_ARGUMENT ) { Toast.makeText(this, "PhoneNumbers length must be greater than orequals to 1 and be less than or equals to 20", Toast.LENGTH_SHORT).show(); } else if( nResult == ChatONAPI.RESULT_CODE_FAIL_API_NOT_AVAILABLE ) { Toast.makeText(this, "API isnt availble. please check your ChatONversion.", Toast.LENGTH_SHORT).show(); } break; }}
  47. 47. 1. Get Buddy ListClient-side API Message API MessageAPI.sendTextMessageWithURL(context, text, url) The following steps describes how to send a message and an URL to ChatON buddies: 1. Select SendTextMessageWithURL 2. Type in a message and an URL 3. Click “Send Text Message With URL” button 4. Buddy list screen appears to allow you to select target buddies or a chat room 5. The typed in message will be delivered when the selection is completed
  48. 48. CODEpublic void clickHandler(View v) { if( mEditSendText == null || mEditSendUrl == null ) { return; } String text = mEditSendText.getText().toString(); String url = mEditSendUrl.getText().toString(); if( TextUtils.isEmpty(text) || TextUtils.isEmpty(url) ) { Toast.makeText(this, "Illegal Argument!!nPlease, check argument", Toast.LENGTH_SHORT).show(); return; } switch(v.getId()) { case R.id.buttonSendTextUrl: if( text.length() > 0 ) { // call API int nResult = MessageAPI.sendTextMessageWithURL(this, text, url); // check result switch(nResult) { case ChatONAPI.RESULT_CODE_FAIL_EXCEPTION_ILLEGAL_ARGUMENT: Toast.makeText(this, "Illegal Argument!!nPlease, check argument", Toast.LENGTH_SHORT).show(); break; case ChatONAPI.RESULT_CODE_FAIL_EXCEPTION: Toast.makeText(this, "Exception!!nPlease, check argument", Toast.LENGTH_SHORT).show(); break; case ChatONAPI.RESULT_CODE_FAIL_TEXT_LIMIT_EXCEEDED: Toast.makeText(this, "Message(Text + Url)s length must be greater than or equals to 1 and beless than or equals to 2000", Toast.LENGTH_SHORT).show(); break; case ChatONAPI.RESULT_CODE_FAIL_API_NOT_AVAILABLE: Toast.makeText(this, "API isnt availble. please check your ChatON version.",Toast.LENGTH_SHORT).show(); break; } } break; } // switch(v.getId())}
  49. 49. 1. Get Buddy ListClient-side API Utility APIMessageAPI. UtilityAPI.isChatONInstalled(context)public class IsChatONInstalledActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.is_chaton_installed); } public void clickHandler(View v) { switch(v.getId()) { case R.id.buttonIsChatONInstalled: // call API boolean isInstalled = UtilityAPI.isChatONInstalled(this); // check result if( isInstalled ) { Toast.makeText(this, "ChatON is installed !!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "ChatON is not installed !!", Toast.LENGTH_SHORT).show(); } break; } }}
  50. 50. USING SDKTo get the new version of the ChatON SDK, please visit : - http://innovator.samsungmobile.com/clientApi.do?platformId=16&pgId=03Contents of the SDK ChatONAPI.jar Online Guide + Sample Application (with source code)
  51. 51. Using ChatON API1. Request API Access Key2. Download and include ChatONAPI.jar library3. Include access key into AndroidManifest.xml <uses-permission android:name="com.sec.chaton.TOKEN_XXXXX" />4. Code !
  52. 52. developer.samsung.comCopyright © 1995-2012 SAMSUNG All rights reserved
  53. 53. Wrap-upSTUDENT DEVELOPER CHALLENGE DEVELOPMENT PROCESSDEVELOPER SUPPORT S PEN CHATON
  54. 54. Keith Bauwise keith.b@partner.samsung.com developer@samsung.com http://developer.samsung.com

×