Jump to content


Samsung is developing a phone with Tizen 3.0

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Topics

    • By STF News
      An updated version of the Samsung Blockchain Keystore SDK has been released. New features in v1.3.0 include:
      Added APIs to support Stellar transactions Added APIs to support Sign Personal Message in Tron transactions View the full blog at its source
    • By STF News
      NOTE: This article was updated on 7 February 2020
      If you are interested in designing and selling UI themes for Samsung mobile devices, you must first pass a design evaluation. The design evaluation is where a team at Samsung reviews a design mockup that you create: the screens of your UI theme concept. We call this your “Themes Studio Portfolio Submission”.
      Show us what the different screens and app icons look like, and if we like your skills, we’ll give you access to Themes Studio, our free software for building UI themes for Samsung Galaxy mobile devices. Your themes can then be sold globally on the Galaxy Store.
      Designing The Mockup, Your Themes Studio Portfolio
      Using your favorite design program, create a mockup of a Samsung UI theme. The mockup must include the 6 required screens: Lock, Home, Messages, Dialer, Contacts, and Settings. If any of the 6 screens are not included in your Themes Studio Portfolio, your application will be rejected.

      In addition to the 6 screens, your mockup must include re-designs of the 8 app icons. Do not use the default Samsung app icons. Doing so will cause your application to be rejected.

      Download Our Starter Kit
      To help ensure that your submission meets the requirements, download our Starter Kit to assist with designing the required 6 screens. The starter kit includes a Photoshop template that utilizes “Smart” objects and the Generate Image Assets feature.
      For designers not using Photoshop, we have included an example PDF showing the required 6 screens, app icons, and symbols, as well as a transparent PNG of a Samsung mobile device. Feel free to use any design program that you like, just make sure each screen design is 1440 pixels wide by 3040 pixels tall.

      Theme Portfolio Design Tips
      Be unique. There are a lot of themes available on the Galaxy Store, and the best way to stand out is to create something different. Don’t use copyrighted or stock images. We want to see your talents as a designer to create a custom design. If you use copyrighted or stock images, your portfolio will be rejected.
      Cohesive design. Make sure all of your 6 screens feel like the same theme. Adjust and revise your artwork for each screen, but make sure they match the overall design concept.
      Nice colors. Design your theme within a specific color palette. This will ensure that your theme conveys a specific mood. For help with selecting a color palette, search online for websites that have color palette generating tools, such as color.adobe.com/create
      Careful with fonts. Fonts can be fun, but fonts can also be too crazy. You can use a stylistic font, just choose one that people can actually read, and read quickly.
      Simple App Icons. The symbols you design for each app icon should have a clear meaning. Do not place a distracting background behind each app icon. All design elements within the app icon should relate to that specific icon. Refrain from using a common design element across all app icons.
      Take a Break. When you are done with your theme mockup, step away for a moment. Do something that takes your mind off of your designs. When you return, you will look at your designs as a whole and not see the specific elements of your theme. Is it cohesive? Do all of the screens within your theme go together? Are the apps and fonts easy to read? Have you designed something unique? If you are confident that your theme mockup is strong, excellent! Time to submit!
      Looking For Inspiration?
      View the Samsung Galaxy Themes Magazine to see the latest designs from top sellers and interviews from top designers. Get inspired by the best of the best.

      Submitting Your Application and Themes Portfolio
      To apply to become a themes designer, visit developer.samsung.com/galaxy-themes and click the “GET STARTED” button. This will open the Themes Overview page. If the window is open, the “GET ACCESS” button will be displayed for you to apply and submit your themes portfolio. See below for the open window dates.
      To submit your themes portfolio, compress the 6 UI screens of your theme design as a ZIP file, and upload with your application.
      Submit More Than One Themes Portfolio?
      Sure. In fact, this is encouraged. Keep in mind though that you will be judged on all of your theme designs. If you submit one strong design and one weak design, they will be judged together. Remember, you are being judged as a Themes designer so be sure that all of your theme portfolios are equally strong.
      Cover Letter
      Submitting a cover letter with your application is not required, but it definitely helps. We would love to learn more about you as a designer. Tell us why you want to design Samsung Themes and sell them to the world. Tell us something interesting about yourself. Share links to other design projects or portfolios. Samsung is looking for great designers to sell their themes on the Galaxy Store. Don't say you only want to learn the software or just create themes for yourself.
      When Can You Submit Your Themes Portfolio?
      Because this is an exclusive group of designers, your portfolio can only be submitted during certain times of the year. We call this the “open window”. For two weeks every other month, Samsung opens the window for applying to become a themes designer. Along with your application you will include the 6 UI screens of your themes portfolio.
      2020 Submission Open Window Dates:
      February 19 - March 4 April 15- April 29 June 17 - July 1 August 19 - September 2 October 21 - November 4 December 16 - December 30 The Review Process
      After the submission window has closed, a team at Samsung will take approximately 4-5 weeks to review all applications and portfolios.
      If your application has been accepted, you will receive an email with instructions on how to access the Themes Studio software and further information about how to begin publishing your theme designs to the Galaxy Store.
      Rejection & Resubmitting
      If your application was rejected, you will receive an email with a link to modify your application and upload a new themes portfolio. Take some time to address the potential reasons as to why your original theme might have been rejected.
      Top reasons for rejection:
      Did not submit the required 6 screens Did not re-design all app icons Graphics were not high-res Theme portfolio was not cohesive Theme design was not well executed Another cause for rejection is the use of imagery that you did not design yourself. It is not allowed to use copyrighted, stock imagery or pictures you find on the internet. Your theme design must contain only custom artwork that you created yourself.
      Start Designing!
      Samsung is looking for designers that are ready and excited to sell their UI theme designs to the world. Take advantage of this unique opportunity and submit your Themes Portfolio during the next open window!
      View the full blog at its source
    • By STF News
      Last June, Samsung introduced Samsung Blockchain Keystore (SBK), a secure built-in cold wallet in Galaxy devices. The cold wallet is isolated with Samsung Knox and encapsulated within a defense-grade Trusted Execution Environment (TEE). The Samsung Blockchain Keystore SDK enables use of this wallet in Android applications.
      In this article, we discuss how to optimize the address fetching process with seed hash. Fetching addresses from the Samsung Blockchain Keystore using the SDK is time-consuming, so this blog will help you learn how to store your seed hash values to avoid delays in fetching information whenever you launch your app.
      The Samsung Blockchain Keystore (SBK) SDK enables users to get blockchain public addresses from the Samsung Blockchain Keystore and sign a cryptocurrency transaction to authenticate. A public address is the hashed version of the public key and is used to recognize a blockchain cryptocurrency account. As the blockchain protocol goes, anyone can fetch the balance and transaction history of an account with its public address.
      Developers can invoke the getAddressList() API of the SBK SDK to fetch the address list. Every time this API is called with the same request, you get the same address list. A change to the list occurs only when the wallet's root seed has been changed. The Programming Guide: API Flow and Use Cases provides more detailed information.
      Seed hash
      The SDK uses the term Seed Hash (see Figure 1, inside the green rectangle).
      Figure 1: SBK SDK API flow and use case The SDK Glossary says:
      Seed Hash: A pseudo seed hash that is generated randomly when the HD wallet is created. If the master seed of a wallet is changed, the seed hash will be changed as well.
      The getSeedHash() API gets the current seed hash from the Samsung Blockchain Keystore. Fetching the address list from the Samsung Blockchain Keystore using the SBK SDK initiates an expensive operation that requires a considerable amount of time. To provide the user with a seamless experience, the SBK SDK programming guide recommends that developers store information from the getSeedHash() API. Developers then need to invoke the getAddressList() API only when the stored seed hash is different from the seed hash fetched using the SBK SDK.
      Before you begin, be sure you've met these prerequisites:
      You have already imported the SDK in your Android app
      You have completed Samsung Blockchain Keystore wallet setup
      You meet supported device and regions restrictions
      If not, download the SBK SDK and check out the Programming Guide: Getting Started section to integrate the SBK SDK. I also recommend reading this blog on address fetching basics: "Where's My Crypto Coin? Featuring Samsung Blockchain Keystore SDK” .
      Enable developer mode in the Samsung Blockchain Keystore to bypass API key verification. The sample application in this blog is not a partner app, so you must enable developer mode to run and test the app features.
      Store the seed hash
      I recommend using Android SharedPreferences to store the seed hash. Remember, the seed hash value is not sensitive data; it's not the wallet's root seed itself. It's a hash value generated to keep track of change in the wallet. Because high-level security is not a concern, and when you have a relatively small collection of key values that you'd like to save, SharedPreferences is an easily implemented solution.
      All you need to do is get the SharedPreferences file and then read and write key-value pairs on it. If you prefer another method of storing data, you can select any one of the methods described in the Android: Data and file storage overview.
      The following code snippet refers to SharedPreferences:
      private static final String seedHashKey = "seed\_hash"; private static final String defaultSeedHashValue = ""; private static SharedPreferences mSharedPreference; mSharedPreference = getActivity().getPreferences(Context.MODE\_PRIVATE); public static String getSeedHash() { return mSharedPreferences.getString( seedHashKey, defaultSeedHashValue); } public static void setSeedHash(String seedHash) { SharedPreferences.Editor editor = mSharedPreferences.edit(); editor.putString(seedHashKey, seedHash); editor.commit(); } } //Fetch SeedHash from SBK and Store on Share Preference String seedHashSDK = ScwService.getInstance().getSeedHash(); setSeedHash(seedHashSDK); Get the address list from the Samsung Blockchain Keystore
      The getAddressList() API of the SBK SDK requires the HD path list and callback function parameters.
      HD path list parameter: An ArrayList, a list of strings in which every string denotes an HD path. See Understanding Keystore > Key Management for more information. Callback function parameter: A callback function of type ScwService.ScwGetAddressListCallback. The address fetching method is performed asynchronously, once the completed onSuccess() or onFailure() method is invoked. onSuccess() holds the required address list as a List, whereas onFailure() holds the error code. The following code snippet retrieves four addresses at one time:
      private ScwService.ScwGetAddressListCallback mScwGetAddressListCallback = new ScwService.ScwGetAddressListCallback() { @Override public void onSuccess(List<String> addressList) { Log.i(Util.LOG\_TAG, "Accounts fetched from SDK Successfully."); } @Override public void onFailure(int errorCode) { // Error Codes Doc: // https://img-developer.samsung.com/onlinedocs/blockchain/keystore/ Log.e(Util.LOG\_TAG, "Fetch Accounts Failure. Error Code: " + errorCode); } }; public void getPublicAddress(ArrayList<String> hdPathList) { mScwService.getAddressList( mScwGetAddressListCallback, hdPathList); } ArrayList hdPathList = new ArrayList<>(); hdPathList.add(ScwService.getHdPath(ScwCoinType.ETH, 0)); //m/44'/60'/0'/0/0 hdPathList.add(ScwService.getHdPath(ScwCoinType.ETH, 1)); //m/44'/60'/0'/0/1 hdPathList.add(ScwService.getHdPath(ScwCoinType.ETH, 2)); //m/44'/60'/0'/0/2 hdPathList.add(ScwService.getHdPath(ScwCoinType.ETH, 3)); //m/44'/60'/0'/0/3 // BTC -> "m/44'/0'/0'/0/0"; getPublicAddress(hdPathList); Representation
      For an Accounts info demonstration, I've used Android's RecyclerView. For detailed information, see Create a List with RecyclerView and this android recyclerview example.
      Figure 2: Fetching an address list from the Samsung Blockchain Keystore
      Store address information on an application database
      Once you have fetched the required addresses from the Samsung Blockchain Keystore, design your mechanism to store this information. Let’s look at requirements at this stage:
      Storage for account information: Accounts presented at app launch have to remain consistent on subsequent app launches, unless the wallet has been changed. Provide users with a seamless experience: Information should not be fetched from Samsung Blockchain Keystore using SDK every time the app launches, because it causes delays. This leads us to Android Room. Room provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite.
      The three major Room components are:
      Database: Contains the database holder Entity: Represents a table within the database. DAO interface: Contains the methods used for accessing the database. For more information about Android Room, see the documentation, blogs, and samples.
      Database class extends the RoomDatabase and builds the required database file.
      @Database(entities = {AccountModel.class}, version = 1) public abstract class AccountsDB extends RoomDatabase { private static AccountsDB accountsDB; public abstract IAccountsDAO iAccountsDAO(); public static AccountsDB getInstance(Context context) { if (accountsDB == null || !accountsDB.isOpen()) { accountsDB = Room.databaseBuilder (context, AccountsDB.class, Util.DB\_NAME) .build(); } return accountsDB; } } Entity
      Here, we have declared our Model Class as a Room Entity using annotations. Room converts “the members of the class” to “columns of the table,” reducing boilerplate code.
      @Entity public class AccountModel { // accountID used as primary key & indexing, Auto Generated @PrimaryKey(autoGenerate = true) private int accountID; private String publicAddress; private String hdPath; // Getter & Setter Methods .. .. } DAO interface
      Here, you have to declare methods and corresponding database SQL queries to be run. This interface is implemented by the Room persistence library; corresponding codes are generated automatically to perform required database operations.
      @Dao public interface IAccountsDAO { @Query("SELECT \* FROM AccountModel") List<AccountModel> fetchAccounts(); @Insert(onConflict = OnConflictStrategy.REPLACE) void insertAccounts(ArrayList<AccountModel> accountModels); @Query("DELETE FROM AccountModel") void removeAccounts(); } On invoking the Java method, corresponding queries are performed on the database. For example, invoking the removeAccounts() method executes the DELETE FROM AccountModel query.
      Database operations
      Room doesn’t allow you to issue database queries on the main thread, as it can cause delays. Database CRUD operations must be performed on a separate thread.
      I’ve used AsyncTask on this example to perform database operations. AsyncTask allows you to perform background operations and publish results on the UI thread without manipulating threads and/or handlers yourself. AsyncTask gives a high-level wrapper over multithreading, so you don't need expertise in concurrent threads or handlers.
      doInBackground(Params...): Performs a computation on a background thread. onPostExecute (result): Posts on the UI thread once doInBackground() operation is completed. The result parameter holds the execution result returned by doInBackground(). execute(Params...): On invocation, executes the task specified with given parameters. See the API reference for details.
      The following example code snippet shows the database retrieve data task:
      private static class fetchAsyncTask extends AsyncTask\> { @Override protected ArrayList<AccountModel> doInBackground(Void...voids){ ArrayList<AccountModel> accountModels = new ArrayList<AccountModel>(accountsDB.iAccountsDAO().fetchAccounts()); return accountModels; } @Override protected void onPostExecute (ArrayList<AccountModel> accountModels) { Log.i(Util.LOG\_TAG, "DB Fetch Successful"); AccountRepository.setmAccountModels(accountModels); } } public static void fetchAccounts() { // DB CRUD operations has to be performed in a separate thread new fetchAsyncTask().execute(); } Figure 3: Fetching an address list from database Next steps
      It's a lot of technical info for one blog. However, it will be worth it to have your apps launch quickly and seamlessly once you've optimized address fetching in the Samsung Blockchain Keystore SDK. For more detailed information, see the following references, and don't hesitate to reach out with any queries and feedback.
      Source code for Sample application "Optimize Address Fetching with Seed Hash" "Where's My Crypto Coin?” Featuring Samsung Blockchain Keystore SDK Samsung Blockchain Keystore Programming Guide: API Flow and Use Cases Android data and file storage: SharedPreferences Save data in a local database: Android Room View the full blog at its source
    • By Alex
      Samsung has annnounced novel third-party compatiblity with TVs as part of its 2019 Developer Conference (SDC). This also involves the roll-out of new tools, so as to help developers generate fresh apps for this ecosystem. Therefore, more obsolete or perhaps less-used smart screens could become the face of interesting side projects or new insights into what this OEM's ecosystem could deliver.
      This year's SDC also debuted new tools that may make ends like this even easier in the future. They include EastST, which might replace self-contrived playback modules in order to check that content is running on a given TV as planned. Wits is the perhaps overly on-the-nose term for a new tool that allows immediate uploads of code edit to a Tizen-based TV, so that the developers can view said updates without delay. 
      However, the most important user-facing new facility here may be TIFA, or Tizen Identifier For Advertising. It allows advertisement opt-outs that may be more informative than ever before. It is less than super-clear why Samsung has taken such steps; however, a prime candidate rationale is to raise awareness of Tizen's open-source and cross-platform nature. Accordingly, it may pull target products into an ecosystem that also includes essentially Linux-based smartwatches, other wearables and pre-existing Samsung TVs.
      Source: https://www.notebookcheck.net/Samsung-makes-Tizen-available-for-third-party-TVs.441407.0.html
    • By STF News
      Did you miss out on the latest Samsung Developer newsletter? Catch up here.
      View the full blog at its source

  • Create New...