Message:

Backendless Blog

Subscribe rss
Blog categories

Tizen is an open source platform residing within the Linux Foundation. It includes an operating system which can run smartphones, tablets, netbooks, onboard devices in smart cars as well as smart TVs. We wanted to see what it would take to integrate a Tizen app with Backendless because the benefits of such integration would be huge. For instance, data can be easily shared between different implementations of an app: a Tizen version of the app can easily communicate with the one running on Android or iOS by the means of Backendless service APIs.

Continue reading

Our Data Service supports a very flexible security mechanism for restricting access to objects stored in Backendless. Security permissions apply to users and roles. A permission can either grant or reject an operation for a particular asset. In the context of Data Service, the asset is an object which your app can retrieve, update or delete. Permissions can be granted or rejected globally, where they apply to all tables and all objects in the data store. Additionally, every table may have its own permission matrix and owner policy – a special instruction whether object owners can or cannot retrieve/update/delete the objects they ‘own’. Finally, every object has its own Access Control List (ACL) which is a matrix of permissions for the operations applicable specifically to the object:

Continue reading

It is hard to believe January is already over. We will remember this month as one filled with a lot of hard work, implementing cool features and fixing some interesting bugs. All of this came to fruition today since we pushed a new release out of the door. To sum the release up with just one word, it would be called “awesome”. Here’s a brief summary of what you will find now in Backendless:

Object Access Control List (ACL)

Any time you save an object in Backendless using the Data Service, we automatically assign the ‘owner’ to the object (assuming there is a currently logged in user). Having an association between a user and the objects he created is helpful since it makes it so much easier for a user to retrieve only the objects he owns. Along with the support for Object ACL, we have greatly enhanced the system of permissions for objects and tables. In fact, the system is so flexible that you can configure any kind of scenario for secure data access (load only objects one created, load only objects which were created anonymously, load only objects which belong to users in specific roles, etc). There will be a detailed blog post with the detailed information about Object ACL.

File Permissions

Being able to control access to files and folders stored in the Backendless File Service has been one of the most requested features. The wait is finally over. With today’s release you can control access to any file and folder using the same intuitive interface we have for other services. The File Browser interface now includes the “Edit Permissions” link for every single item. Clicking the link you can easily adjust the permission matrix for any user or role in the system.

Git Access

The File Service received quite a makeover in today’s release. In addition to File Permissions, we also added Git integration. Once Git is enabled (you can do it from the Manage > App Settings screen), you can work with your file storage as a git repository. This may be particularly helpful for deploying multiple files or syncing between your local development environment and Backendless file system.

We are very excited about this release. There is a lot more that went into it than just these features – most importantly our passion and love for beautifully made software. We have a feature packed roadmap and can’t wait to get some amazing functionality into your hands. We hope you enjoy using it as much as we did designing and coding Backendless.

Enjoy!

One of the coolest features included into our November release is support for mobile audio/video conferencing, screen and gesture sharing. This functionality is made possible through our partnership with ShowKit – a mobile SDK for iOS and other environments. Integration with Backendless makes it trivially easy to enable the users of your mobile app to conference with each other and share app screens. Complete documentation describing the integration is available in the Backendless Media Service API doc as well as ShowKit’s website.

How much does it cost? Is it free to use? What can I get for free? What are the limitations? How much will it cost as the application grows? These are all very reasonable questions. When you decide to use a backend-as-a-service system, you should definitely estimate your usage and see what you may end up spending over time. The good thing is with Backendless the API usage is unlimited – your application can make unlimited number of API calls and we will not charge you for that. There is only one plan with Backendless and it is free. The plan has some limits for the number of resources included into it. Once you go over the limits, you would pay only for what you use. The video below provides an overview of our plan. For additional information about the pricing, see the Backendless Pricing page.

[allvideogallery profile=2 category=1 video=2]

 

Posted in Uncategorized

This is the first post in a series where we plan to explore Backendless features. We are working to produce quick 2-3 minute videos to demonstrate the advantages and simplicity of the “no-backend” approach with the Backendless backend-as-a-service platform.

In the first video we review the process of creating your own backend with Backendless. Additionally, you can use the quick start guides for JavaScriptAndroid and iOS for more details.

Endlessly Happy Coding!

 

We are very happy to announce the new release of the Backendless service. The release is packed with very cool and exciting features as well as bug fixes and improvements. We will be posting detailed information for each new feature, but for now here is a brief overview of what you will find in the new release:

Analytics

In short, the analytics feature is simply awesome. You can do very detailed drill downs to determine how your application uses the backend, which services are used the most, how the usage of the app is divided between the clients, see the patterns of usage, etc, etc. The analytics charts are available through the Backendless Developer console. The information gathered by Backendless is divided into the categories of:

  • API Calls – you see the usage from the API method level to the aggregated “service-level” view
  • Users – provides the insight into active vs. registered users.
  • Media Streams – shows the history of live and recorded streams created by your client application
  • Messages – displays history of both publish-subscribe messages as well as Push Notifications.

Custom Domains

This new feature makes it possible for you to map your own domain name to your Backendless backend. This may be useful in the following scenarios:

  • Hosting – when you deploy your content to the Backendless File Service, you can serve it through a custom web domain.
  • Email communications – Backendless sends emails to your users for various scenarios: to confirm email address during the app registration process, to change password, etc. By default, most of the emails include links pointing back to our website. Using the custom domains feature, you can maintain more consistent branding for your app.
The custom domains feature is a part of the Backendless Plus package (see below).

Related Data Visualization

Working with related objects in our persistent storage just gotten so much easier now that you can actually see how objects you persist with the Data Service API relate to each other. Table views in the Backendless Console show related objects via links. The visualization works for both one-to-one and one-to-many relations: 

 

Additionally, the console provides a bidirectional mechanism for navigating relations from “parent” to the “child” objects and vice-versa.

Backendless Plus

The new release introduces a package we call “Backendless Plus”. It is a group of features which you can enable for your backend to take advantage of the following functionality:

  • Custom web page templates – your client-to-backend workflow may include interaction with web pages presented to the users of your application. For example, when a user registers for your application, he receives an email with a link to a page acknowledging that the email address is confirmed. Additionally, when the user requests password change, they are presented with a web page to change the password. Finally, when a user’s session with the application expires, he is redirected to a webpage. With Backendless Plus you can customize all these pages to maintain consistent look and feel and branding of your app.
  • Custom domains – Map a web domain to your file storage and use Backendless for website hosting. This new feature is described above.

Backendless Plus is available for $99/month and can be enabled through Backendless Console. See the Manage > Billing section for details.

ShowKit Integration

ShowKit is an SDK for mobile devices that enables audio/video conferencing and screen+gesture sharing. Developers can easily add video conferencing, screen sharing and hand gesturing features to the mobile apps by integrating the ShowKit SDK into their applications. The integration with Backendless makes it trivially simple to integrate ShowKit into your Backendless apps.
Once enabled, users of your app can start calling each other, initiate screen sharing sessions without any additional configuration or registration steps. We will be updating the documentation detailing the integration shortly.

As we are getting closer to the GA date, we are opening up our client libraries. It has always been the goal to make them open source and we are starting with the Backendless SDK for ActionScript. The library is now available on GitHub, which is the main repository for that code. As we make any changes, the code will be updated in the repository and the compiled library will also be available in the Backendless SDK download section on our site. We welcome any suggestions and improvements!

Posted in ActionScript

We just published an Android sample application to Google Play. The application demonstrates the usage of various Backendless APIs for some real-world use-case you may be implementing in your app. The application allows anyone to take a picture or use one from the gallery, upload it to the server and associate the picture with a point on the map (tag). Users can browse uploaded pictures by moving/zooming the map. For any picture/tag you can see a list of comments and submit your own comment as well. The application source code specifically demonstrates how to handle the following use-cases:

  • User registration and login
  • User login with Facebook or Twitter accounts
  • Retrieving a list of geo points and plotting them on the map
  • Taking a picture with the device’s camera
  • Selecting a picture from the device’s gallery
  • Uploading/Downloading images to/from Backendless
  • Establishing relational mapping between uploaded images and submitted comments
  • Using Data Service to submit and load user comments

You can find the app in Google Play if you search for “Endless Tagging” or simply follow the link below:
https://play.google.com/store/apps/details?id=com.backendless.examples.endless.tagging

The source code of the application is available in our GitHub repository:
https://github.com/Backendless/EndlessTagging-Android

Posted in Android, Examples

In this blog post we review the process of setting up and developing an iOS application capable to receive Apple Push Notifications. We also review the functionality of publishing a push notification through Backendless.

Creating App ID

  1. First we are going to create an App ID for the application which will receive Push Notifications. Login to Apple Developer Member Center. Click on “App IDs” in the “Identifiers” section. Use the plus sign “+” button to create a new ID:
  2. When prompted enter App ID Prefix. Make sure it is descriptive enough so you recognize it later when you return to the Member Center.
  3. Select Explicit App ID in the “App ID Suffix” section and enter the same bundle ID which you will be using in the application:
  4. In App Services select the services which the application will use and click “continue”:
  5. Make sure that Push Notifications are enabled and click “submit”. This will conclude the App ID creation for the app:

Creating Certificate Request

Push Notifications require a certificate which will be used on a device by the means of a provisioning profile. Also the same certificate (transformed to the Personal Information Exchange – .p12 format) will be used by Backendless to publish Push Notifications. If this makes little sense, do not worry, you will need to perform these steps only ones and then can move on to code and using the APIs.

  1. In order to create a certificate a Certificate Signing Request (CSR) must be issued. To create a CSR, open Keychain Access and select Keychain Access >> Certificate Assistant >> Request a Certificate from the main menu:
  2. Enter your email address and Common Name (leave the CA Email Address field empty), select “Saved to disk” and click “Continue”:
  3. Select a directory where to save the file and click Save.

Generating an SSL Certificate for Push Notifications

The CSR file created in the section above will be used to create an SSL Certificate. That certificate will then be used by Backendless to publish push notifications.

  1. Return to Apple Developer Member Center and select “All” under “Certificates”. Click the plus button “+” to add a new certificate:
  2. Select certificate type – there are two options Development and Production. For now select “Apple Push Notification service SSL (Sandbox)”:
  3. Select the App ID created earlier in these instructions:
  4. Next you will see the instructions for generating a CSR which you have already created by now. Click Continue to proceed to the next step.
  5. Select the CSR file created and saved to the disk earlier and click Generate:
  6. The certificate is ready now, click “Download” to download it:
  7. Add the certificate file to Keychain Access.
  8. Open Keychain Access and locate the certificate in the “My Certificates” section:
  9. Right click on the certificate and select the Export option:
  10. Save the certificate in the p12 format:
  11. Enter a password for the certificate. Make sure to make a record of the password – you will need to use it later in the instructions when you submit the certificate to Backendless:
  12. Enter your Mac OS X account password to confirm the action. At this point you have a certificate for Push Notifications.

Configuring Backendless App with the Certificate

Since Backendless provides the actual server-side integration for delivering Push Notifications for your application, it needs to have access to the certificate you created above. The steps below provide the instructions for uploading the certificate into Backendless:

  1. Login to Backendless Console at: https://backendless.com/develop and create/select an application which you will use on the server-side:

  2. Click Manage > App Settings. Locate the Mobile Settings section and upload the .p12 certificate created earlier. Make sure to enter the same password you used when created the certificate:

  3. Now your Backendless server is ready to publish Push Notifications.

Creating Provisioning Profile

  1. Login to Apple Developer Member Center and select “All” under Provisioning Profiles. Click the plus button “+” to create a new profile:
  2. Select the “iOS App Development” profile type:
  3. Click Continue. On the next screen select the App ID which was created earlier:
  4.  Click Continue. Select the users/certificates which will be included into the profile.
  5. Click Continue. Select the devices to include into the profile.
  6. Click Continue. Enter a name to assign to the profile and click Generate:
  7. Download the profile:
  8. Start XCode and open Organizer. Select the Provisioning Profiles section and add the profile you generated/downloaded:

Creating App in XCode

Finally all the setup is done and we can proceed to the fun part – creating an app in XCode and writing some code.

  1. Open XCode and create new “Single View Application”.
  2. Enter “pushNotificationSample” as the Product Name. Also provide your organization name and company identifier. Since the bundle ID we used when creating App ID earlier was “com.backendless.pushNotificationSample”, you should use “com.backendless” as the “Company Identifier”:
  3. Once the application is created, open Targets > Build Settings > Code Signing > Code Signing Identity and select the provisioning profile created earlier:



  4. At this point you should add Backendless SDK to your project. This includes adding Backendless library and its dependencies. Additionally, you will need to copy/paste Backendless Application ID and Secret Key into the code. For detailed instructions on how to do that, please follow the Backendless Quick Start Guide for iOS.
  5. Open AppDeletage.m. The following code registers the device with Backendless and Apple Push Notification Service:

    If the registration goes through, the following method is automatically called with the device token passed as the argument:

    Otherwise, if the registration fails, the following method is called with the argument of the underlying error:

    In case of the successful registration, the device is ready to accept published Push Notifications. When a notification is delivered to a device, the following method is invoked when the app is running.
  6. In order to send a Push Notification from a device, use the following code:

Publishing Push Notifications from Backendless Console

  1. Open Backendless Console at https://backendless.com/develop and select the Messaging section.
  2. Enter the text of the notification message in the “Message text” area, also make sure to specify the headers:
    1. “ios-badge”:”X”, where X is the number for the badge update
    2. “ios-alert”:”alert message text”
    3. “ios-sound”:”URL of the sound file”For a list of all supported headers, see the Publish Push Notification section in the documentation.
  3. Click the “iOS Devices” checkbox.
  4. Click Publish. The Push Notification will be delivered to all registered iOS devices:
  5. To see a list of the registered devices use the Devices tab. You can also send a push notification to specific devices. In order to do that, select the devices using the checkboxes and then click the “Selected devices” option under “Push Notification” section: