3 Tips to Start Using Motion in Design

3 Tips to Start Using Motion in Design

Motion connects the designers and developers who are working on a mobile application with its users. Scrolling, navigating through screens, and adding or editing content may all be inherent features of an app in 2017, but the app still needs to feel right. UX designers live for the challenge of making an app feel right to the user, and motion is one tool in their arsenal. As Shockoe tackles mastering this tool, here are three tips for how to start thinking about integrating motion into your designs.

Tip 1: Show the Relation

You’ve put in the work, made the sitemap, and even mapped out the flow. You know exactly how to get from Screen A to Screen Z. Do your users? It’s important to make sure your users will be able to navigate the app with the same fluidity you do. Probably the best option for ensuring this is one of the simplest: show your user where the screens are coming from.

Navigating from the leftmost tab to the one on the right? Show that by pushing your current content off-screen to the left, making room for the new content coming in from the right. Google Play Music is a fantastic example of how an entirely new page can originate from a single, much smaller element. It shows the growth of that element into a full page.

Tip 2: Don’t Lose the Users

This touches a bit on the last point, but it is key that you don’t confuse your users or lose them in a complicated motion. If you have too many elements moving in too many directions, or even one element moving too far, you may run into some problems.

An example of what to do and what not to do both come from different implementations of the same feature in different versions of the Android operating system. On devices that ran Android M, there was a hovering search bar at the top of the home screen. This was a great addition, bringing a Google search right to the forefront of the user’s most-frequented screen. As you might expect, the search automatically offered suggestions as the user typed.

On the newest Pixel 2, that search bar has been moved to the bottom of the home screen, just under the app drawer and just above the software buttons. A UX/hardware issue is solved here by allowing users to reach their search bar more easily, but a visual transition issue is created. When the user taps the new bottom-anchored search bar, it acts like before and is now on the top of the screen, populating your autofill search results. This is probably nit-picking and just requires some getting used to, but it makes the search bar feel like more of an “activation” and not a true, transforming element on the device’s screen. That takes away a bit of what made that simplicity in movement so special.

Tip 3: Have Some Fun. Find It, If You Have To

This point applies to everyone in design, but it holds special weight in designing motion as there is so much that can be done. This is more for your own sanity, but it’s very important in every project to have even a little fun, and not nearly enough people value taking a moment to do so. A solid check for this is looking inward and thinking about what you would want to see an app do.

Take 15 minutes, grab your notebook and a pencil, create some sketches, and just … go with it. Look at what’s been done in other apps, what hasn’t, and find what works for you. Don’t limit yourself to the mobile realm for inspiration; consider television shows, video games, etc., as well. The kind of work we’re most proud of is typically the work we enjoy making, so be sure to explore every corner of your creativity when designing motion.

So what are your thoughts?

Hopefully, these tips have helped you start thinking about the ways you can use motion in your designs. In this post, we touched on the basics of motion; we look forward to expanding on these ideas in a future post that dives deeper into the nitty-gritty details on how to make motion work in your apps. As you start integrating motion into your projects, reach out and let us know what you think, if you have any thoughts to add, or if these tips have helped you out in any way.

Editor’s Note: 

Want more tips on Design? Check out our most recent blogs:

10 Commandments of Designing for Accessibility Every Designer Needs to Know

How to Apply Minimalism to Complex Apps

Want to stay connected on all things mobile?

Sign up for the Shockoe newsletter and we'll keep you updated with the latest blogs, podcasts, and events focused on emerging mobile trends.

So you have an app idea – now what?

So you have an app idea – now what?

So you have an awesome idea for an app. There’s just a burning hole in your front screen every time you unlock your phone. Your idea is keeping you awake and with many sleepless nights, you just know this is it! Your app is revolutionary and will change the world, and really, you are just sooo ready to make a gazillion million dollars. So now what?

As a marketing/sales coordinator at Shockoe, I receive a lot of phone calls stating just that. I’m not kidding. Some obscure, some genius and some just plain mind-blowing As a one of the fastest growing companies in Virginia our deep passion lies in making beautiful and useful apps with great technology – nothing gets us more excited than a chance to help you bring your idea to life. So I’m here today writing a little guide, if you will, to help you navigate in this craze driven mobile world and give you a couple of pointers to consider before diving head deep into the commitment of making your app. So here goes nothing.

First – I’d like to bring it to your attention that making an app is a full on business. That’s right, one that requires planning, skills for development, design, support of the product, marketing, money and the list goes on. So you might say, of course, that’s pretty obvious. I’m willing and ready to put this much into my app idea because I know it’s going to do well. Well here’s what to consider next.

Is your app going to promote an existing business or is it a completely separate entity you would like to make money from? If it’s an existing business app idea serving as a compliment to your service, do your research. Search through app store or google play – see which ones failed and which ones worked before and play around with existing apps.

And now, the juicy part – the price. Do you price it “free” or do you charge users for downloads? How much of a budget did you set aside towards the actual creation of your app? Is it going to be an Iphone app, Android or both? Do you want us to make your app completely from scratch or do you want to put in the time to write a basic code and have us help you make it pretty and functional? Now, what about getting your app out there? Are you going to promote it and market it out yourself? What is your time line in completing the app and how fast do you want it to hit the market? And once it’s out, how will your app updates and bug fixes along with any other tweaks will be handled?

As you can see, the list goes on and on. At Shockoe, we are proud to say that we can help you with the entire process. From creating a strategy and defining how this app will help your business and what you can do to take advantage of your mobile strategy. To then of course, carrying out this idea and knocking out the user experience and design portion of it to make sure your baby is effective, productive and adds value. Then doing the development and integration portion of it (and trust me I’ve seen our developers typing away their codes – it really does looks like an intimidating different language to a non-techie like myself). To then, the customer success management portion which is critical to your mobile app’s success! We want to make sure your mobile solution never loses value to your users and we ensure you receive the best application support, maintenance & monitoring services you deserve.

Anyways, the team is pretty awesome and as stated before: we will get it done because mobile apps are our number one passion. So to do it right, making an app is a full business but we are certainly here to help you every step of the way!

So what are you waiting for? Go ahead and contact us now and let’s get your awesome app idea out into the world!

Appcelerator Titanium iOS Debugging with XCode

Appcelerator Titanium iOS Debugging with XCode

Earlier this week, I was debugging and I was reminded of the sheer power of the XCode developer tools, even in the context of a not-quite-native application like a titanium application.

The Problem

Andrew was working on an application that will load in a large number of images and PDFs from a remote server and display them to the user, in-app. However, when we got to the point that we would be displaying a certain one of our images, we saw this in the Titanium console:

[ERROR] invalid image type. expected TiBlob, String, TiFile, was: TiBlob -[TiUIImageView setImage_:](TiUIImageView.m:687)

Sorry, what? It seems like something odd is happening at a native level, and Titanium is getting too confused to return a sensible error message. Well, guess it’s time to open a support ticket with Appcelerator and wait for them to figure out what the issue could be, right?

Wrong. One of my favorite things about Appcelerator Titanium is its open-source nature. What we can do from here, is open up the native project generated by Titanium and debug it with the normal native debugging tools. When you build a Titanium application for iOS, a (pretty much) normal XCode project is generated from your project, compiled, and run on whatever test device you have selected. In situations like this, we can take that project and manually re-build it in XCode for debugging purposes.

Opening your project in XCode

To open your project in XCode, first run

ti build -p ios --build-only

in your project’s directory. This will ensure you have a native project generated for your Titanium project. From here, all you need to do is open XCode, and open up the XCode project in the build/iphone folder.

Path to a Titanium project's compiled XCode Project

Setting Native Breakpoints

Now that we’ve got the project in XCode, we need to set up a native breakpoint so that we can see what the issue is with the Objective-C code that Titanium is executing on our behalf. Fortunately, the message that Titanium printed out gave us a selector name:

-[TiUIImageView setImage_:]

. Let’s go ahead and set up a symbolic breakpoint for that selector:

Add a breakpoint in XCode by clicking the second icon from the right in the side bar, and then clicking the plus in the bottom right

Add the symbol from the error as the symbol name

Enter the XCode debugger

Now that we’ve got our breakpoints set up, we can run the project in XCode, and execution will stop when our breakpoint is hit in the Titanium SDK code.

The debugger will automatically pause execution when you hit a breakpoint.

Let’s go ahead and step over a few commands and see if we can figure out exactly what’s going wrong.

Step Over

Huh, it looks like we’re having some issue turning our Titanium file into a UIImage that we can apply to the native UIImageView. Let’s use the variable inspector to figure out exactly why we’re failing to convert this into an iOS image.

XCode variable inspection

Well, one look at the MIME type is enough to see exactly what’s wrong. Our file isn’t an image! Even though this didn’t tell us exactly where the issue was, it was enough to direct our debugging (we eventually figured out that we were accidentally saving a PDF file as an image – oops!). Issues like this are why I’m very quick to reach for XCode when I see a native iOS issue – it makes it much easier to figure out what parts of your code might be incorrect when you can easily trace through Appcelerator’s code!

Enabling Push Notifications Part 3 of 3

Enabling Push Notifications Part 3 of 3

Android Code Setup

Android is set up the same way with just a few minor differences.  On Android, we use the ti.cloudpush module and ti.cloud for Push Notifications.  After registering with the server, the function should return a device token.  Save this device token in-app properties.

Example: Ti.App.Properties.setString(‘deviceToken’, e.deviceToken);

 However, make sure you set the application properties on the callback and not inside the common JS library.  These lib files can sometimes act strangely when it comes to saving app properties.

//require the notifications common js lib file
var notifications = require('notifications');
//check for a device token
var deviceToken = Ti.App.Properties.getString('deviceToken');

//check to see if deviceToken exists
if(deviceToken === '') {
	//get the devices token
	deviceToken = notifications.getToken();
	//set the deviceToken app property
	Ti.App.Properties.setString('deviceToken', deviceToken);
}

In the index js file we set up the device to look for a token and if there is not one to register the user for Push Notifications.

//require ti.cloudpush module
var CloudPush = require('ti.cloudpush');
//require ti.cloud module
var Cloud = require('ti.cloud');

//get device token
exports.getToken = function() {
  // Initialize the module
  CloudPush.retrieveDeviceToken({
      success: deviceTokenSuccess,
      error: deviceTokenError
  });
  // Enable push notifications for this device
  function deviceTokenSuccess(e) {
      CloudPush.enabled = true;
      return e.deviceToken;
  }
  function deviceTokenError(e) {
      alert('Failed to register for push notifications! ' + e.error);
  }
  // Process incoming push notifications
  CloudPush.addEventListener('callback', function (evt) {
      alert(evt.payload);
  });
};

The device token that is generated will allow the application to receive notifications.  You will be able to register the device with ‘Channels’.   The server can push information to certain Channels.  Say you want sports news.  Then a Channel called ‘sports_updates’ could be created.  Channels are not done server side.  Creation is done on the user side.  There is not a way to manually add a channel on the ACS Dashboard.  Once a user subscribes to a channel for the first time then it is created.

Subscribing a device token to a channel is a function in the common JS library you created for Push Notifications.  In this function, we pass two variables. One being the channel and the other being the device token that was generated earlier.  Each one is needed for the subscription.  Now the module ti.cloud will be required for this project as well.  The first module, ti.cloudpush, is just for registering a device token, and ti.cloud does the rest.  So we add ti.cloud to the notifications lib file.

//subscribe to a specific channel
exports.subscribe = function(channel, token) {
    Cloud.PushNotifications.subscribeToken({
        device_token: token,
        channel: channel
    }, function (e) {
        if (e.success) {
            alert('Subscribed');
        } else {
            alert('Error:\n' + ((e.error && e.message) || JSON.stringify(e)));
        }
    });
};

Subscribing a device token to a channel is a function in the common JS library you created for Push Notifications.  In this function, we pass two variables. One is the channel and the other being the device token that was generated earlier.  Each one is needed for the subscription.

You will also need to allow the user to unsubscribe from Channel based Pushed Notifications, which can be done using the unsubscribe function.

//unsubsribe from a specific channel
exports.unsubscribe = function(channel, token) {
    Cloud.PushNotifications.unsubscribeToken({
        device_token: token,
        channel: channel,
    }, function (e) {
        if (e.success) {
            alert('Unsubscribed');
        } else {
            alert('Error:\n' + ((e.error && e.message) || JSON.stringify(e)));
        }
    });
};

//device token
var deviceToken = Ti.App.Properties.getString('deviceToken');
//require notificiations lib file
var notifications = require('notifications');
//create view to house label and buttons
var container = Ti.UI.createView({
	width           : Ti.UI.FILL,
	height          : Ti.UI.FILL,
	top             : 30,
	layout          : 'vertical',
	backgroundColor : '#FFFFFF'
});
//create label for title
var channelLabel = Ti.UI.createLabel({
	width     : Ti.UI.FILL,
	height    : Ti.UI.SIZE,
	text      : 'Select a Channel',
	textAlign : 'center'
});
//create sports channel button
var sportsButton = Ti.UI.createButton({
	width     : Ti.UI.FILL,
	height    : Ti.UI.SIZE,
	top       : 10,
	title     : 'Sports'
});
//sports button event listener
sportsButton.addEventListener('click', function(e){
	if(deviceToken !== '') {
		notifications.subscribe('sports_updates', deviceToken);
	} else {
		alert('Error, device not registered for Push Notifications');
	}
});
//add elements together
container.add(channelLabel);
container.add(sportsButton);
$.win.add(container);

Now we need to create a sample page to test this all out with.  It will have a view, label, and button.  Clicking this button will subscribe the user to sports updates from the ACS server.

 This will create a basic view with a label and button on top of the window.  It will say ‘Sports’ and upon click will call the register function from the notifications lib file.

notifications.js

exports.userLogin = function() {
    // Log in to ACS
    Cloud.Users.login({
        login: 'push_notifications',
        password: 'pushy'
    }, function (e) {
        if (e.success) {
            alert('Login successful');
        } else {
            alert('Error:\n' +
                ((e.error && e.message) || JSON.stringify(e)));
        }
    });
};

You can also have users set up on the ACS server and log them in and subscribe to channels.  However, the user account must exist.  Generally, one user is created for the public, such as the ‘push_notifications’ user we see in the code.   This is perfect for just a basic app with notifications.  If you want user sessions and give the ability for people to create their own accounts you will have to look into Titanium.Cloud.Users on the documentation.

Sending Push Notifications using the Dashboard (http://dashboard.appcelerator.com)

This will cover three different ways for notifications to be sent.

Sending to Specific Channel/Users
Sending to All Channels
Setting up Recurring Notifications

 

Go to the Dashboard, then Cloud, then Push Notifications.  You will see a button that says ‘Send Push Notification’, click on it.

Sending to Specific Channel/Users

  • Channel – Which channel to send the notification to

    • Choose ‘Specific Channel’

  • Choose ‘Specific Channel’

  • Users – You can choose to enter a username if you have created any to notify just users who subscribe to that channel.

  • Alert – The message body you want the user to see

  • Send When – The time you would like to send the notification

    • Choose ‘Send Now’

  • Title – The title of the notification

Let’s say we notify the ‘sports’ channel, then we need to choose ‘Specific Channel’ under the Channel.  Then under ‘Channel Name’ you would put ‘sports’.  The ACS server is Case Sensitive, so stick with lowercase or camel case.  For the ‘Alert’ section just come up with something such as ‘Richmond, Virginia to get a Major NFL Team’.  Under ‘Send When’ choose ‘Send Now’.  Then for ‘Title’ enter ‘WZYB Sports’ or something like that.

 

Click ‘Save Changes’ which will send the notification to the subscriber devices.

Sending to All Channels

  • Channel – Which channel to send the notification to

    • Choose ‘All Channels’

  • Alert – The message body you want the user to see

  • Send When – The time you would like to send the notification

    • Choose ‘Send Now’

  • Title – The title of the notification

Click ‘Save Changes’ which will send the notification to the subscriber devices.

Setting up Recurring Notifications

  • Channel – Which channel to send the notification to

    • Choose ‘All Channels’ or ‘Specific Channel’

  • Alert – The message body you want the user to see

  • Send When – The time you would like to send the notification

    • Choose ‘Recurring’

    • Enter the Start Date, End Date, Cycle and Time of Day

  • Title – The title of the notification

Click ‘Save Changes’ which will send the notification to the subscriber devices.

That concludes this tutorial on Push Notifications.  Please feel free to leave a comment and let us know if this worked for you.

 

Shockoe Helps Homes.com House Hunters Find Perfect Rental

Shockoe Helps Homes.com House Hunters Find Perfect Rental

Mobile technology is changing the fundamental interactions between business and customers in meaningful ways not foreseen a decade ago.  Even a traditional business model, like car rentals, has been disrupted by a rapidly expanding company with what seemed a niche idea, due to the flexibility that mobile technology gives consumers.

Why can’t the same principle apply in the home rental space?

Homes.com is part of the fifth-largest real estate listing portal network with over three million homes represented in the United States and that’s the question that they asked us at Shockoe.com.

Since then, we have been working with Homes.com to enchance their collection of iOS and Android apps.  One of the first joint projects was released on October 16th to great acclaim.  Homes.com’s industry knowledge guided the thoughtful design and solid codebase that Shockoe supplied and the brand new Homes.com Rental app is averaging 4.9 out of 5 in the Google Play Store and 5/5 stars on the iOS App Store in just a week’s time.  And as a recent study showed, app ratings are now more critical to rankings, thus exposure, than ever before

So how did Shockoe and Homes.com do it?

The new Rentals app was built with today’s sophisticated renter in mind.  The app is the first in the market to offer current commute times for points of interest such as user’s place of employment, gym or shopping, tailoring the app to today’s ever busy consumer.  This of course hits the three keys to mobile real estate: geolocation, geolocation, geolocation.

Now, on-the-go consumers can easily browse an expansive database of rental listings on the Homes.com app, which has built-in extensions to Homes.com’s sister site ForRent.com.  ForRent.com is the exclusive provider of apartment listings on the Rentals app. Homes.com developed the smartphone app for effortless use on both iOS and Android devices and included iOS7 features such as natural navigation gestures.

“With year-over-year rental search traffic growing on Homes.com by more than 514 percent on mobile devices, our first priority in designing the rentals mobile app was to create an optimal shopping experience for renters,” said Brock MacLean, executive vice president of Homes.com. “The new app allows consumers to customize searches, instantly view and save listings, and connect with agents or property managers. Whether a renter is searching for a place to celebrate, create or unwind, the place to find it is Homes.com.”

The mobile app enables potential renters to tap into current listings filtered by user preferences.  Filters run from standards like price, size and type of residence to many extras like fireplaces, parking or (a mobile first for the industry) pet-friendly rentals. Map searches are made simple with slide and tap navigation, all while referencing a geo-targeted map for an easy view of points of interest throughout the search experience.

How did Shockoe create this for Homes.com in such a short timeframe?

From the beginning, Dominion tasked Shockoe with building the revisions in the Appcelerator Titanium codebase to create an amazing user experience across multiple operating systems and devices while improving overall app performance.  Rebuilding a unified codebase for Homes.com within Titanium offered Shockoe.com a chance to make big changes to simple usability and interface aspects of both mobile app experiences. For example, the older version of the mobile app made dynamic selection difficult in the area overview map.

Due to past experience, the Shockoe development team decided a whole new map design was necessary since the map function is a crucial. While it sounds daunting, we know it would end up being a major time saver since the redesign would be built just once in the Appcelerator Titanium toolset.  The new map function would then be instantly reflected across both iOS and Android versions for multiple form-factors and the functionality could be re-used and applied to other projects down the road for Homes.com.

Shockoe has been a longtime partner and evangelist of Appcelerator.  The cross-platform nature of Titanium enables us to meet deadlines and budgets that would be impossible had we designed for each platform separately.  Our experience with Titanium makes an already accelerated schedule even shorter.

We at Shockoe look forward to collaboration with Homes.com and their sister site ForRent.com in coming up with new and interesting ways to help the companies enhance products and tie themselves together in the mobile environment.  With an economical foundation on which to fortify their ability to acquire and cross-sell their customers in the mobile space, look for many more good things to come from the teams at Homes.com and ForRent.com.

How can Shockoe help your business take a great idea and make it a disruptive force in your industry?

Download the new Homes.com Rentals apps – [Google Play] [Apple App Store]

About Homes.com®
As one of North America’s top online real estate destinations, Homes.com® Rentals inspires consumers to dream big. From affordable houses to luxurious estates, condos, apartment rentals and more, Homes.com features nearly 3 million property listings and a user-friendly format, making finding your next home easy. Visitors to the Homes.com blog will find a collection of rich content and posts on DIY projects, painting, organization tips and more, providing the ultimate resource for everything home related. From finding your first apartment to buying your first home, upgrading, downsizing and everything in between, Homes.com is an inspiring and engaging partner in every phase of the home buying or renting process.

Homes.com is a division of Dominion Enterprises, a leading marketing services and publishing company headquartered in Norfolk, Virginia. For more information, visit www.dominionenterprises.com.

About ForRent.com®
As one of the nation’s leading online home search destinations, ForRent.com® inspires renters to discover their next apartment, loft, townhouse, or condo. ForRent.com features rental listings in a user-friendly format, making finding your next home an easy exploration. Visitors to ForRent.com’s apartment living blogFacebook pageTwitter account and Pinterest boards will discover relevant content and can join the conversation surrounding their home decorating style, rental tips and more, serving as the complete resource for renters in every part of their living experience.

Why iOS7 is a Game-Changer for the Enterprise

Why iOS7 is a Game-Changer for the Enterprise

The recent launch of Apple’s new iOS7 has many talking about how the new version of the operating system was the final death knell of Apple’s skeuomorphic roots, but beyond the style and sleekness of the upgrade, the enterprise should see the feature dense iOS7 as a major force in driving enterprises to mobile.

Security has and will continue to remain a major concern for the enterprise, but as Q2ebanking.com’s CSO Jay McLaughlin recently stated, the iPhone is by far the most secure device to try and integrate into the enterprise — as long as users aren’t jail-breaking the device.

“iOS 7 presents new vulnerabilities in the fact it contains new code, technology and features,” McLaughlin told TechRadar.com. “Once discovered, you’ll see new exploits created – many of which would be used for jailbreaking purposes – which inherently breaks and destroys the strength of Apple’s underlying security model for iOS. […] Historically, Apple has tightened its security within iOS with each subsequent release, adding stronger encryption, Data Execution Prevention, ASLR and the new A7 processor’s ‘Secure Enclave.’ As such, when in a non-jailbroken state, the iPhone is one of the most secure consumer devices.”

Here is eight features of Apple’s iOS7 that will change the business world for the better:

Stronger Security through TouchID & Activation Lock

One of the biggest drawbacks of extending the enterprise to mobile is the multitude of security threats to which mobile devices can expose an enterprise.  TouchID made news when in less than a week a computer club in Germany demonstrated there are ways to bypass the TouchID system.

Even so, ComputerWorld’s Michael deAgonia writes that it is still a groundbreaking advancement for mobile.

“I’ve already decided [TouchID] will be a game-changer. In concert with new Activation Lock features in iOS 7 — GPS tracking can’t be deactivated and access to the iPhone is blocked without entering your iCloud username and password, even after a device wipe! — it’s hard to see this as anything but a major win for security.

[…]

The hoops someone would have to jump through to hack into the phone — lifting fingerprints, making a fake print using latex — are complicated, if they even work at all. For me, this doesn’t change its usefulness; it’s just a reminder that no security function is 100% foolproof.”

Weak passwords, disabled security locks and misplaced devices are what keep security-minded companies up at night when thinking about extending mobile in the enterprise.  While not perfect, fingerprint-based authentication in concert with the Activation Lock and device wipe capabilities can allow companies to quickly intervene in a potential security violation before sensitive data is compromised.  Better to wipe a $200 smartphone quickly than expose a business to tens of thousands, or even millions of dollars to a potential data breach while a would-be hacker fiddles with latex fingerprint molds.

Simplicity With Enterprise Single-Sign-On

For the busy folks on the front line delivering packages, checking manifests and entering patient data and all the while jumping between programs to do so, the repetitive authentication for each transaction can become major deterrent in the use of the products, or at the very least the secure use of them.  What if that worker could log into a CRM app and then jump into an order-tracking app without another sign-on?  iOS 7 allows users to take their corporate credentials across apps, even including apps from the App Store. This reduces the need to remember and enter a number of different passwords while also keeping data secure.

Opening Up on Managed Open-In

Would you like an employee accidentally tweeting the Q4 forecast numbers?  Probably not.  Thanks to Managed Open-In, companies can force their employees to open email attachments in specific corporate-managed applications rather than an app of the user’s own choosing.  So, even without a containerization solution to protect corporate data, enterprise information technology departments can keep business data in business-related applications on the mobile device. The business can then dictate to the user the open in options by app or user account, providing a lot of management flexibility.

Private Server Conversations With Per-App VPN

Per-App VPN allows information technology departments much more granularity in access to back-end systems. Only specific apps can gain access to a corporate network, so unmanaged or unapproved apps can never gain access to sensitive data within the enterprise.  As well this restricts the ability to remove data from unapproved applications thanks to Managed Open-In.  This feature greatly improves user experience and firewalls privacy so that non-business data is unable to touch the corporate network.  One of the major benefits to business?  Since this can quickly create barriers between SAP and Facebook, Per-app VPN makes Bring Your Own Device (BYOD) a much more realistic goal for enterprise.

Mobile Device Management Software Made Simple

iOS7 includes a new MDM protocol to streamline third-party MDM solutions.  For large businesses, the need to keep hundreds or thousands of users up to date with supported versions of software can be daunting without management software.  Corporate-owned devices can be automatically enrolled in an MDM solution during activation, automating much of the custom commands, fonts and wirelessly set-up managed apps.

Giving iWork Mobile to Get

Microsoft made a kingdom into an empire by licensing their end-user productivity tools.  Now, just like Google Drive did, Apple is giving away iWork with Cloud capability in their latest release.  This move won’t push blue chip companies to defect in droves from Microsoft’s enterprise licensing program, but for smaller businesses this strategic investment on Apple’s part could help them justify the cost of equipping Apple devices while simultaneously extending on one set of productivity tools between laptop and mobile device.

Keep the “Property” in “Intellectual Property” Through App Store Volume Purchase Program

Enterprises can now buy apps and books for their iPhone and iPad-using employees and keep the to those apps or books to transfer them to other workers. For a handful of users, this might not seem like much, but those 99 cents start to add up quickly when it comes to thousands of users or expensive B2B apps or books or other such pricey materials.  Previously, companies had to go through a painful process of buying redemption codes to hand out to employees to go out and download the apps on their own.

Microlocation through Apple’s iBeacons

Apple’s iOS 7 supports low-cost transmitters that can work with an iPhone or iPad to collect location data, even if there’s no location system installed in a workplace or other environment. The system works over Bluetooth 4.0 and can be used to interact with an environment just by passing through it.

Major League Baseball has been a staunch supporter of the practical for Apple’s new tech for a few years now, and they have been off and running with how to use the iBeacon technology since last winter.  So far, MLB has created an experience to populate a ballpark guides stadium specific information and which prompts users with different results based on where they are located, be it prompting the ticket bar-code at the entrance for the ticket-taker or popping up a coupon for a free soda once one smells the aroma of hot dogs.

“We’ve been looking at customizing the app based on where you are within the stadium, but GPS is notorious for not working indoors, especially when you are in a building made of steel,” MLB iOS developer Marc Abramson told Mashable. “Instead, we are incorporating Apple’s new Bluetooth and iBeacon technologies for iOS 7 and couldn’t be more excited about the potential.”

“Essentially, we want to create micro-locations within the stadiums where you can get different experiences,” Abramson said.

On the factory floor or in a busy transit center this sort of device/environment interplay could change the way the user interacts and experiences their environment.

Endless Possibilities

These eight features are just a few of the many advances that Apple has made with their revolutionary iOS7 product.  Beyond what we wrote about above, there’s plenty more worth mentioning: Multi-Tasking APIs, AirDrop and PDF annotations are but a few.

The advance of mobile technology inside the enterprise will lead to major innovations for businesses and with the introduction if iOS7 large organizations have even less reason to put off extending to mobile.

We wrote months ago that organizations who move quickly but cautiously will be the ones that reap the largest long-term benefit for their business.  That said, Apple has addressed many of the major concerns for caution in the competitive marketplace with the introduction of technologies like Per-App VPN and ESSO.  Extremely secure yet game-changing technology is now available to the enterprise and iOS7 has done enough that smart enterprises will use these security, locational and MDM advances to propel their business forward in the next year with the largest gain at a fractional risk.

Shockoe and Shaka Smart Basketball Camps Team Up

Shockoe and Shaka Smart Basketball Camps Team Up

Any young organization that experiences explosive growth invariably runs into many of the same problems. Building a scalable infrastructure while offering the best customer service are two challenges that faced Shaka Smart Basketball Camps, LLC as they strive to provide the best basketball experience for its campers and parents each summer since 2009 in Richmond, Virginia.

Smart is the head coach of the surging Virginia Commonwealth basketball program, the college basketball Cinderella story of 2011 and the success of his program has driven greater attendance to his summer camps in the Central Virginia region. With the added campers came scalability concerns for the staff in 2011 and 2012 and with more campers in store for 2013, the team had to huddle to come up with a winning result.

The mission of the basketball camp is to “encourage self-esteem and a love of fitness and nutrition” through a fun and informative week-long camp. As part of that mission, the camp’s curriculum teaches its attendees lessons about practical financial responsibility through a camp “bank account” that the children can use to purchase items from one of a number of the camp’s stores.

For Shaka’s staff, registering each camper, tracking who was in attendance each day and the unique challenge of monitoring the balances of each camper’s “bank account” across a five day basketball camp presented problems. Keeping up with the swelling number of campers over the past few years with a paper process found difficult and time consuming.

After last year’s camp, the staff needed a better way to supply right-time account balances, perform inventory control, provide updated balances to the staffers at the camp store and then offer reports for parents to reinforce the camp’s lessons of fiscal responsibility. To accomplish this, Shaka Smart Basketball Camps teamed with us at Shockoe Mobile Application Development to come up with a solution for the staff. To meet the team’s needs, we created a back-end database built to automate inventory control, track camper attendance, and track camper account balances all while providing an intuitive front-end display on iPads for camp staff to quickly learn and efficiently access the system. The devices were then integrated with Square payment software to make payments as simple and accessible as possible.

Last week was the camp’s first of three weeks and was the first real test of how smooth and scalable the application could be for the staff. So how did it work?

With the new application, registration went more quickly, attendance was efficiently tracked and there were no discrepancies in balances at the various camp stores based around the location of the camp, Virginia Commonwealth University’s Siegel Center. Reports were then provided back to parents on how their children spent their allowances during camp for additional reinforcement of sound financial management.

With the new application in-hand, Smart’s staff of administrators and educators were able to focus on what matters most, teaching children the fundamentals of basketball while establishing a healthy lifestyle resulting in a win-win for everyone involved.

ABOUT SHAKA SMART BASKETBALL CAMPS, LLC

Founded in April of 2009, the mission of Shaka Smart Basketball Camps LLC is to encourage high self-esteem and a lifelong love of fitness and nutrition through fun, high-quality basketball instruction and games. The camp provides a wealth of experiences for its attendees including both current and former Virginia Commonwealth University basketball players, youth coaches from around the nation, conditioning experts, medical staff and VCU graduate assistants from the Center for Sports Leadership. This year, the camp will run for three week long sessions providing instruction and learning to hundreds of campers. Learn more about the camp at coachsmart.com.

 

Making a great app takes time

Making a great app takes time

Hey all, I’m Bruce.  I’m a new hire at Shockoe.com.  I’m very excited to be here on the front lines of the mobile revolution!

Building a mobile application involves much more than just making the app.  There’s extensive design work, development time, and testing that goes into every mobile application that you ever use.  To further complicate things, not every app is created equal, and many projects have specific needs that can be difficult for a non-technical user to understand.  As part of Shockoe’s mission of helping you tame the mobile monster, we’ve put together a few things worth considering when you’re trying to design your mobile application.

Making apps takes time.  Making a great app takes more.

 Creating an app that suits both your company’s and users’ needs takes time.  Time needs to be spent on coming up with a design that catches the eye and conveys all of your information, and time needs to be spent with the code behind the application to make sure that it can actually do everything that your customers need it to do.  Then there’s testing.  Though often overlooked, testing is the difference between an app that ‘works’ and an app that you can’t live without.  A little bit of extra time on the testing of your app can make a world of difference when it gets into your customer’s hands, and make the all important first impression that much more memorable.

Cross platform support: a whole new can of worms

 Take a look around any public space and you’ll see dozens of different devices.  Apple, Google, BlackBerry, and Microsoft each have their flagship lines of phones, each with their own operating systems, and frankly it’s extraordinarily difficult to support them all.  Here at Shockoe we make use of Appcelerator’s Titanium API, which allows us to share a great deal of code between different versions of our applications, but even that doesn’t come for free.  Each OS has its different quirks, different UI themes, and different modes of use, and every different device will take debug, design, and development time, no matter how awesome your tools are.

 Servers: out of sight but not out of mind

 People don’t tend to think about servers when they’re thinking about mobile applications, and for good reason.  If a server is doing its job, the users will never even know it exists.  However, when you’re thinking about making the next hit mobile application server needs are something you absolutely need to keep in mind.  Will your users need an account to make use of your app?  Will you need to be able to send updates out to your users?  Will you need to store information from various users’ phones for your app to really be useful? In any of these cases, you’ll need some kind of server.

Long term maintenance: How long will you be living with this app?

After your app is finished, it enters into a new phase of its life.  As devices change, other software gets updated, and user feedback is received, it is important to continue to update your application to address these changing concerns.  UI elements may need to be updated to work with the hottest new version of iOS, you may need to fix an error introduced by an update to Google Maps, or your friendly neighborhood hackers might find a security vulnerability in some library that is critical to your application and require an update or complete rewrite of the problematic code, or your app could become so wildly popular that your old servers just don’t cut it anymore.  You need to be prepared to deal with all of these things when you start planning for your application.

** Image source : Kinvey

RichTech Award Ceremony

RichTech Award Ceremony

On the evening of May 8th, at the Marriott Richmond, the 18th Annual Richmond Technology Awards were held in celebration of the many breakthroughs, advancements and outstanding technologists Richmond has to offer. As Richmond’s “Academy Awards” of Technology, the Gala hosts over 600 of the area’s tech giants with eight award categories. The awards presented included The Community Catalyst Award, The Emerging Company Award, The Technology Builder Award, The Innovation in Development Award, The Innovation in Utilization Award, The Educator Award, The RichTech Chairman’s Award, and most importantly The People’s Choice Award.

As a part of the event we were thrilled to develop a cross platform voting app for the People’s Choice Award. Armed with smart phones, and laptops the public was able to vote for the winner of the award with just a push a button from their Android, iOS, or internet connected devices. During a period of less than 24 hours surrounding the Gala we had over 1,500 votes total across all 3 platforms (iOS, Android, and Web).

We would like to congratulate TCSC for taking home People’s Choice Award, with an astounding 862 votes.

The finalist as well as a more detailed description of each award can be found on Richtech’s event site.