Showing posts with label beginning. Show all posts
Showing posts with label beginning. Show all posts

Monday, January 30, 2017

Samsung Mobile SDK – Introducing the Complete Package

As mentioned in some of my earlier posts there are a lot of individual SDKs that Samsung has provided over time to the developers. All of these SDKs have been trying to provide things over and above the basic features provided by Android SDKs and some of them with specific focus on Samsung mobiles. However, recently Samsung has put them all together and released the Samsung Mobile SDK! It packages everything into one making it, that much easier for developers to work with.

Considering the fact that Samsung’s flagship Samsung Mobile SDK is now available and the fact that the latest application challenge thrown open by Samsung expects you to use this SDK’s Pen and Look package innovatively on Samsung Galaxy Note 3 and their Tablet Galaxy Note 10.1 (2014 Edition), here I am exploring a bit more of the Samsung Mobile SDKitself.

Apart from the 2 powerful packages Pen and Look, there are 8 more packages have been bundled together into the SDK. All of these APIs are over the Android API layer simplifying some of the tasks for application development on the Samsung phones, which have a huge share in the Android market.

Now, would it be useful to know a little more about each of these packages? Why should we use these packages against the default Android Packages?

Let me explain in brief what each of the packages provides.

1.     Chord package, I have explained in great detail in an earlier post of mine (And hence will not be dwelling further on it here).
2.     Image Filter package provides a varied set of features for image manipulation. It allows you to apply 33 filter effects, some of them with level adjustments. It also allows you to apply a level of transparency to your images.
3.     Pen package is mainly to deal with hand written input. It could be a pen like the one that comes with Samsung Note or just a finger. Apart from recognizing the input, it provides a way to edit, move around text and manipulate the same and even convert the same into a digital format. Brushes, colours and brush sizes are selectable. My next post will be a detailed one on using pen package in a sample code.
4.     Visual View is another package that is part of the SDK that provides various animations based on the OpenGL ES 2.0. It provides some basic animation, transition animation, key-frame animation, advanced geometry functions and a perspective view too.
a.     This is based on Android GLSurfaceView, which is in turn based on SurfaceView. So any code written for Android SurfaceViewcan be used with Visual View.
b.     The default Android animations from scene to scene offer only a blinking effect. However this offers 40 transitions!! Certainly a developers delight.
c.      A Visual View Slide offers a perspective view with a 3D space, with properties like Opacity, Shadow, Rotation etc. Something that would bring ‘gamification’ easily to enterprise apps as well.

All of the above packages are available for all Samsung devices. However, the ones mentioned below are available only on some of them.
1.     Gesture package allows you to capture events generated by hand movements.
a.     This uses the gesture sensor available on some devices. This is supported only on Android 4.3 or above.
b.     Hand movement can be recognised as up, down, left or right along with the angle. Based on that, actions like opening a specific app or playing a specific song etc. can be initiated.
2.     Look package offers specialised functions and widgets for the android view system.
a.     Look supports an editor that can be used with the pen package called the ‘WritingBuddy’.
b.     It also provides a concept of an ‘AirButton’ that is more like a quick access menu or a context sensitive menu that can be initiated by using a pen.
c.      It provides another exciting feature called the ‘SmartClip’ that helps in capturing screenshots or meta data of text and URLs and crop screenshots.
d.     It also provides a ‘PointerIcon’ feature to be able to change the look of the pointer icon when a pen is used in any application.
3.     Media Control is a package that allows you to save and retrieve media files from any DNLA (Digital Network Living Alliance) device.
a.     It provides basic functions of stop, pause, resume, seek for both music and video files that are stored on any DNLA network device
b.     It can seamlessly present still-images to a remote screen
4.     Motion is a package that allows you to use the ‘call motion’ and ‘Pedometer’ features.
a.     The call motion is triggered when you see a message or a number and move the device to the ear!
b.     The Pedometer captures data around the walking of a person with the mobile. It captures the speed, the distance, the calories etc. based on the height and weight of the user.
5.     MutliWindow allows you to run multiple windows with various applications simultaneously. This becomes useful with larger screen devices and almost gives you the power of a laptop in your palm!
a.     Multi instance tray bar is provided to handle the multiple windows that may be opened at any point
b.     It allows you to pair windows in the typical split style
c.      It allows you to resize application windows, minimize them, move or exit from a Window
6.     Professional Audio adds a high performance audio processing logic. Musical instruments can be created with relative ease.


With all of these wonderful packages together, a lot of creativity can be unleashed and I am sure the Samsung Smart App Challenge encourages the Android Developer Communityto use these in innovative ways.

Of all the packages, I am particularly interested in the possibilities with pen and look packages and so will be exploring how to write simple programs using the two of them in the next few posts.

Again, based on the fact that the Samsung SmartApp Challenge  that has already begun on the 5th of September and is going on currently with the last date of submission being 30thNov 2013, which expects the use of the pen package and the look package, this is the promised article on the look package. Let us start from some fundamentals.

First, What is Look?

From the last 3 articles, we have seen that Samsung Mobile SDK is a SDK that brings 10 different small packages together into one SDK to ease the developers world. Look is a java package available as part of that same Samsung Mobile SDK. It is a package that provides specialized widgets for additional functions beyond what the Android Views already provide. And of course it builds on what the pen package already provides. In fact, Look requires that S Pen be used to access its features.

Next, then, what are the functions Look provides?

It supports
  • ·      WritingBuddy – This basically helps by giving an editor when a S Pen comes closer to an area that can take an input from the pen. The user can write in this editor, which would then by recognized by the WritingBuddy and converted into a digital format for further usage! 

Quite a useful feature considering that the S Pen would lead to a lot of apps that would take a written input but the UI should still be compact with out having large canvases occupying the UI for pen inputs. 

     
      This can be used with on any view layouts and in TextEdit. WritingBuddy recognizes numbers and alpahabets and even handwriting images which would lead to usages like signature recognition etc.

  • ·      AirButton – I see this feature as an advanced context sensitive menu! A set of items or images or what ever may be relevant to a particular context can be shown using an air button. 

The wow factor in this is you can creatively define the gravity, the direction and the display type making it look like a feature that was always needed but not invented till now!

Based on the user selection of a menu item / a recent item display there, the next set of actions can be invoked.


  • ·      SmartClip – As the name says, SmartClip is indeed a smart clipboard, which does not just capture the selected content, but also the metadata related to the content! This metadata is converted to text that can be searched on or sent to other applications for further use.  
This is certainly an interesting feature that can be used very imaginatively to provide seamless copy and paste options between various apps and also help in capturing related content.

This feature would look more magical especially when there is metadata available with the content captured. For example, if there are URLs that are part of the content that is captured, the SmartClip can capture data from the URL too and send it to the destination app.

  • ·      PointerIcon – This is a good to have feature – something that is taken for granted in many desktop apps but has found its way into a mobile through this package! 
This allows you to modify the look of the pointer when you place an S Pen on a view.


The Look Package Architecture

This diagram is taken from the Samsung documentation.

Lot of custom apps can be developed using the look package and as you see the look package is mainly an extension to the Android View package.

The Development environment

In order to develop an app that uses the look package and support all of the above-mentioned features, you need to download the complete Samsung Mobile SDKwhich can be downloaded independently or through an eclipse. Both ways of downloading the SDK and setting up the Development environment are described here.