Extending app logic with Appery.io Server Code

Screen Shot 2014-02-27 at 3.57.36 PM

Every modern app consists of two parts: front-end UI and backend. Backend services can greatly extend your app logic and help implement many useful features.  Appery.io provides a possibility to create your own server scripts without the need to maintain servers yourself.  Server code scripts (that’s how this feature is called in Appery.io) can be invoked from the app via a REST API and will  run on the Appery.io servers.

Using server code scripts provides the following advantages:

  • Broader app logic
    Use server code services to extend your app logic. You can implement various backend features such as Restore password and others.  Some code logically belongs on the server.  For example, if you need to process data retrieved from multiple sources before presenting the results to the user, its more efficient to perform that logic in the server.
  • Reusable code base
    Appery.io server scripts can be self-contained app modules which can be used from different apps. You can implement one handy feature and re-use it from all of your apps instantly and without any additional coding.
  • Code accessibility 
    As Appery.io provides powerful a collaboration feature, server code can be shared with other users too. This makes team development much easier and faster.
  • Extend with powerful 3rd party libraries 
    Server code supports several predefined libraries such as Underscore.js, moment.js, handlebar.js and others. You can also upload your own or other 3-rd party library and use it from the Appery.io. Libraries can be shared too!
  • Keep your users on the latest version of the code.  Another important advantage of server code is the ability to modify your app without having to redistribute your app to your users.  If you make changes on the client side, that requires an update in the app store, and an update by all your users.  But if your logic is server based, you can be sure that all your users always have the latest version of your app.

The server code console can help test and debug your scripts from one place without the need to run REST API services. Want to add custom app logic to your app? Start with Server Code by trying this tutorial! And, to learn more about Appery.io Server Code, visit the documentation.

Building a GPS tracking app with Appery.io

Many mobile apps use GPS sensors to track a user’s current location. For example, it could be a ride sharing app, fitness app, or a delivery app. This post shows how to build such an app in Appery.io. The app tracks your current location via  the device’s GPS sensor and stores the location into a database.

This is the app UI:

gps_app_view

 

The GPS location is determined every 15 seconds (you can change the interval). The location is shown in the app and also saved into a cloud database. Because this is a native app (with PhoneGap), the app will continue tracking the location even if in the background or with the phone screen locked.

To try this app, download the app backup and create a new app from it. Keep in mind that you do need to build a binary file and install it on the device for testing.

Now you just need to configure the settings service with the correct database ID. This app uses a pretty simple database; it contains one collection with name Locations. This collection contains one column location with type of Geo point:

gps_app_collection_structure

Open the GPSLocationTracking_settings file and change the database_id to your own.

Once the database ID is changed in the settings file, the application is ready to go.

Let’s take a quick look how the app works:

1. The GPS service starts initially after the Device ready event and runs every 15 seconds.

Here is the JavaScript code:

gps_app_device_ready

2. You can also change how often the GPS will run. To apply a new interval, first stop tracking, and then start it again:

gps_app_new_interval

3. In the case that the GPS fails to determine the location, an error message will be shown:

gps_app_save_failed

4. Every time a new GPS location is retrieved, the location is saved into a cloud database:

gps_app_store_location

This is a starter app that uses the GPS sensor to track your current location. It’s very easy to add more features. For instance, you can add Google Reverse Geocoding service to get the address of a place. Or, you could also show all locations on a map.

If you want more practice, try the Building a mobile app with Google Maps and Geolocation tutorial.

Building a mobile Todo app with Appery.io database and deploying to BitBalloon.com

This video shows how to build a mobile Todo app in Appery.io with cloud database and deploy the app to BitBalloon.com – a very nice and easy to use HTML5 hosting service.

Check Out the 2014Q1 Developer Economics State of the Developer Nation Report

Developer Economics Q1 2014 - Developer Economics 2014-02-13 16-40-36

Last November, we partnered with VisionMobile to help them reach out for their Developer Economics survey. Now the data for VisionMobile’s well-known reports on the state of the developer nation is out. The report features in-depth analysis and insights into the key issues in the app economy, including platform prioritization, going beyond tablets, trending revenue models, and making the right choices in developer tools.

Download the full report for free.

Appery.io Hits 100,000 Developers; Launches Security, UI & Key Team Productivity Enhancements

Earlier in our blog we hinted at some exciting enhancements coming for our developers. Well, that day is here, and today we are pleased to announce a new set of offerings including key team productivity features, security advances and sleek new UI components, specifically, Panel, YouTube and Vimeo widgets designed to improve the user experience.

Read the rest of this entry »

Upcoming Pricing and Team Feature Updates

On February 11 we’re going to update the Appery.io platform with new pricing, improved team support, and changes on how projects are shared.   Here is what to expect:

Improved Team Support

More and bigger teams are using Appery.io, which is great.  To better meet their needs, we are making some enhancements now, and more will come in future releases.  To create a team, a paid account owner simply purchases additional user seats and shares them with new users.  The team lead (or account owner) now has administration rights over all the projects that members of his/her team create.   The team lead can, for example, backup, modify or delete the projects created by other team members.   This feature has been requested by our users and we’re hoping it will improve the productivity of all of your teams.

It is important to note how the number of projects is counted across a team.  In total, the team can create as many projects as are allocated to the account owner, depending on his/her plan.    Each user seat does not come with an additional allocation of projects.  When a team member leaves the team (by unsharing the user seat), all projects created by the departing team member are moved to the account owner’s folder.  In order to have access to more projects, the account owner should upgrade to a plan with a higher allocation of projects.   As before, we continue to offer custom enterprise plans with larger allocations of projects or any other resource.

Project Sharing Within Teams Only.   As part of this update, projects will be shareable within teams only.  In the past, you could share projects with any other user on the platform, although this was not very common.  This restriction enables us to provide richer team collaboration features in the future, increased security, and increased performance.

Pricing Update

Price Increase.   With the upcoming update, we are revising our pricing to account for significant new functionality added to our platform.   Over the last year we’ve added great new functionality to the platform including Push Notifications, Server Code, Salesforce integration, Heroku integration, Versioning, and tons of new plugins. We are grandfathering all existing plans, so your pricing will not be affected unless you choose to make changes to your plan (for example change to a new plan or add/delete user seats.  The upcoming pricing is as follows:  

Billed Annually

Billed Monthly

Standard

$19/month

$25/month

Pro

$56/month

$75/month

Premium

$135/month

$180/month (unchanged)

This compares to today’s price of $15, $45, and $180 for Standard, Pro, and Premium, respectively, when billing monthly.

Additional User Seat Pricing Simplified.   We’re simplifying the pricing of new user seats by making the price the same, regardless of the plan.  New user seats will be priced at $25 per month ($19 per month if billed annually) for all the plans, as shown below.

Billed Annually

Billed Monthly

Additional User

$19

$25

Note that there are no other changes to the plans.  The allocation of resources such as projects, API calls, push notifications and storage space all remain the same as before.

Although we are grandfathering existing plans, any chance in existing plans would require that you move to one of the new pricing plans.  For example, if you want to move from Pro to Premium or if you want to add or delete user seats, you would need to switch to one of the new plans.

If you have a Starter (free) plan and are considering upgrading to a paid plan, you may consider upgrading before the upcoming price changes to be grandfathered in.

If you have questions, please don’t hesitate to reach us at support@appery.io

Upcoming Update to Xcode 5 – Please Note

As many of you know, last month Apple announced that as of February 1 it will require the use of xCode 5 for all submissions to the App Store.  We are working hard on an update that will not only update our platform to support Xcode 5 but also to jQuery Mobile 1.4.  This version of jQuery Mobile comes with major upgrades and performance improvements but also requires more testing than we originally anticipated.  We estimate that this upgrade will be completed on February 11*.   Until that time, any app exported as an iOS binary may be rejected by Apple.  This does not impact apps that are distributed via enterprise app stores, of course.

Temporary workaround:  if you must submit an app to the Apple App Store before we release this update, you can always export the source code as an Xcode project rather than as an .ipa binary and create the binary on your own computer using Xcode 5.   The option to export the source code is available via the Export pull down menu within our App Builder.

If you have questions about this, please contact our Tech Support team as usual.

*Updated this post on February 3rd:  changed the estimated completing of this upgrade from “mid February” to “February 11”

 

Quickly send push notifications with Appery.io backend services

Push notifications. It is a great way to inform app users about cool offers, important events or any updates. It’s an important feature for enterprise mobile apps. For instance, a sales manager can be instantly notified when an existing customer upgrades his/her plan.  Push notifications are a powerful tool to ensure your message is received and read by the user, even when they are not using your app.

push_notification

Appery.io provides fast and easy way to send the push notifications for both platforms – iOS and Android. Sending can be done in just a few steps:

  1. Enable push notifications in the application settings.
  2. Register the application with Apple or Google services.
  3. Install the app on the device. When it’s done, device information will be automatically added to your predefined devices collection.
  4. Send notifications from the console. That it!

You can send these alerts:

  1. Instantly
  2. Schedule
  3. Deliver in device’s time zone

The first two options, all the users will receive the message simultaneously. For instance, for some users it could be 8 AM, and for other users it could be 1 PM.

In the third case of the device time zone sending, users will receive the notifications in a different time – someone later and someone sooner.

Having all three options — is what makes Appery.io push easy to use, yet very powerful, and customizable.

You are not limited to sending push notifications from the push console. With push REST API, you can enable sending messages from any app.

Want to learn more? Head to our push docs or try the quick start push tutorial.

What’s New in the Latest Appery.io Update

Update: Webinar on Wednesday, Jan. 29, to cover new features.

This past weekend we released a number of new features. This is a list of what’s new. We will be posting a lot more information on each feature later this week. This is a short list of all the new and awesome stuff:

  • Weinre remote debugging
  • Secure REST
  • Server code integration from inside the app builder — generate REST services for server code scripts
  • More information why the binary build might fail
  • Database batch operations
  • New UI components
  • iOS 7 theme and icons for binary build
  • Launch (splash screen) images for iOS and Android apps
  • Change account email address
  • Many bug fixes..

Stay tuned for a more detailed post coming later this week.

Looking for your input

Our team is looking to add a few more tutorials and sample code to our catalog.  We’re looking for a few use cases that include Appery.io Backend Services such as the Cloud Database, Push Notifications, and Server Code.

Which examples would be most helpful for you?

Can you please give us your input via this quick survey?