Mobile Apps Must be Instrumented Just Like IoT Devices

Quebec

Just like IoT devices, mobile apps should be instrumented to send usage, feedback, error and engagement telemetry to analytic systems.

Instrument everything!

While many developers have written code or used frameworks to log errors, they only scratched the surface when it comes to the amount and types of metrics an app should capture. Beyond data collection, apps must stream telemetry back to analytic systems to benefit marketers, product managers, the QA team and developers. This is all about gleaning insights and improving the app and user experience you’re delivering to your customers and employees.

Capture the following app metrics:

  • Runtime errors and fatal crashes to help developers find the root cause of bugs
  • User feedback and app ratings (stars)
  • Task completion rates
  • Passive sentiment via app engagement depth and duration
  • Sales conversions
  • App launch rates, usage patterns and where users are clicking
  • Underlying operating systems, devices, mobile operators, app versions, available memory, CPU usage and power management data

In addition to passively capturing metrics, actively engage users via push notifications to ask for feedback.

Improve user productivity through app instrumentation to create a feedback loop that continuously enhances the quality, usability and performance for customers and employees. Does the organization where you work instrument all its mobile apps?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Accelerate Mobile Development with Cross-Platform Tools

Kelowna

Cross-platform tools allow developers to repurpose existing skills to accelerate native, multi-platform mobile development.

While many of your mobile, cross-platform goals can be accomplished with HTML5, you might be wondering if there’s a solution for pure native code. There are a growing number of options out there using popular programming languages and even no code at all.

Appcelerator provides an IDE and the Titanium SDK allowing developers to create cross-platform apps using JavaScript. Unlike Hybrid apps, the JavaScript is compiled to native code for better performance. APIs are included to ensure apps can take advantage of all platform features as well as native UI elements.

If you’re a .NET shop with developers comfortable with Visual Studio and skilled in the C# programming language, Xamarin is right for you. This development tool runs on its own or plugs into Visual Studio allowing you to build native iOS, Android and OSX apps. It also implements the native UI of each platform so users will never know the apps weren’t built in Objective-C, Swift or Java. Xamarin is a great way to leverage .NET investments across devices.

Zero-code or low-code solutions like AppArchitect, Alpha Anywhere, SkyGiraffe, Force.com, PowWow, WorkSimple, PowerApps, Reddo, MobileSmith, StarMobile and others are worth your due diligence to speed up development efforts as long as they don’t create a risk to your business platforms.

Reduce expenses by building apps for all mobile platforms with a single codebase and a smaller development team to get your product to market more quickly and pervasively. Has your company pivoted to cross-platform development tools?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Mobile Apps Must be their own Fortress to Withstand Attacks from Hackers

Fort Knox

A mobile app must be its own fortress and never assume platforms are encrypted, authenticated, use VPN or require a PIN for security.

I guess developers can’t count on anything these days. How you deal with security is what separates consumer app developers from enterprise app developers. The best apps assume an insecure, unencrypted and completely compromised mobile platform. In a world of bring your own app (BYOA), this will differentiate consumer app developers from trusted enterprise app developers. Imagine the scenario where a logged-in device is left behind in a taxi and is stolen before device security kicks-in to log the device out. A window of time ranging from five to fifteen minutes of exposure is realistic.

So how does a mobile app take charge of its own security? On launch, it must prompt for enterprise credentials like a password, PIN, face or fingerprint before allowing a user inside the app. Eliminate the use of cached credentials and tokens or keep expiration times to a minimum. Next, the app must provide its own encryption for data at rest. This is accomplished through the use of a mobile platform’s crypto APIs. Oftentimes you can reuse login credentials as a password and salt value. Use this to encrypt all downloaded and user-entered data before saving to local storage. The app must use TLS or per-app VPN tunnels for all remote communication to secure data in transit. Lastly, trustworthy apps should never take dependencies on platform capabilities they don’t actually require.

Reduce risk to your business by insisting every enterprise app you build or buy provides its own comprehensive security capabilities. Is your company making app security a top priority?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Mobile Apps Must Work Offline Because Wireless Connectivity isn’t Ubiquitous

Albuquerque

Intermittent wireless connectivity requires mobile apps to follow sync patterns using pre-fetched data via APIs and offline local storage.

If the network isn’t available, it’s pretty hard for your native app to call web APIs or for your web app to load new web pages. On the Ethernet connected desktops of the past, developers didn’t concern themselves with this issue. In our wireless connected mobile society, ignoring this issue leads to a poor user experience. Most of the time, devices are connected via 2G/3G/4G wireless data networks whose reliability is driven by cell tower density, the number of devices connected to a given tower, wireless frequencies, bandwidth and the number of buildings in the area.

Rather than assuming everything will “just work,” developers of successful apps assume “nothing works.” For starters, mobile apps must take advantage of platform APIs that detect the existence of network connectivity. Once this is established, an app must not only download the data it needs at that given moment but enough data to get through the day. Depending on the amount and complexity of this data, it should be stored locally on the device in a mobile database or as serialized files. From then on, the app should only use the local data to perform its tasks rather than reaching out to servers. Changes made by the user to this local data should be tracked so that only deltas are sent to backend systems when it’s time to upload. Extensive error handling and “sync retries” are needed to ensure reliability. Employees can work in airplane mode or when roaming internationally without using data.

Increase revenue and improve user productivity by using sync to create apps that keep working whether the Internet is available or not. App downtime on a sales call in front of a customer is not an option. Has your company made the move to apps that work offline?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Delivering Apps to Mobile Devices via Remote Pixel Projection is a Terrible Idea

San Antonio

The use of remote pixel projection technology to view Win32 apps on mobile devices should be considered nothing more than an interim workaround.

What’s the fastest way to move Win32 desktop apps to mobile devices? Don’t feel bad if you chose a remote desktop or screen sharing technology to project PC desktops to smartphones or tablets. This happened decades earlier when companies migrated from 3270 terminal emulation to PC apps. Lots of screen scraping took place to avoid large rewrites.

If you’ve tried various remote desktop technologies on smartphones, you found yourself doing a lot of pinching, zooming, panning and scrolling to accomplish simple tasks. The intermittent nature of wireless data networks results in a frustrating experience. A lack of offline capabilities leads to application errors and possible data loss. Nonexistent integration with essential smartphone sensors leaves employees without the contextual experiences they expect. Obviously, tablets fare much better due to larger screen sizes that more closely match the desktops they’re trying to render. When paired with corporate Wi-Fi, this delivers the least-bad remote experience. The tablet + Wi-Fi scenario is the best compromise for large apps that are difficult to migrate or third-party apps that are out of your control. In limited scenarios where sensitive corporate data is not allowed on a device, remote desktop technologies keep your device free of data. For everything else, remote pixel projection should be a short pause on the road to complete mobile migration.

Reduce risk to your business by using remote pixel technologies in situations where sensitive data cannot be securely moved to a mobile device. Is your company taking a pass on employee productivity by not migrating legacy desktop applications to mobile apps?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Complexity Kills so Simplify your Mobile Apps Now

Boston

Migrate Win32 apps with complex user interfaces to mobile apps where each screen is focused on a single task or idea.

The 90s was a time where many developers did their best to create NASA mission control screens. If an app performed ten different functions, they’d see if all those activities could be performed on a single screen. No one ever considered there might be a correlation between those complex screens and the mountain of training manuals and classroom instruction required to make employees productive. A lack of empathy for app users left many employees confused and intimidated by technology. Complexity kills.

You now have a second chance to kill this complexity. In the same way that I want you to break up your large, monolithic Win32 apps into multiple apps, I also want you to do the same for individual screens. Take a look at how many different tasks are accomplished on your complex screens and break them apart into their own screens. Once you’ve created multiple, mobile screens for each discrete function area of a complex Win32 screen, focus on which UI elements you can eliminate. You may find sub-tasks on your new mobile screens that can be further broken out into their own screens. Some designers call this Progressive Reduction. Keep iterating on this process until each screen is easy to understand and has the minimum number of UI elements needed to accomplish a single task.

Improve user productivity by breaking complex screens into multiple, simplified screens to reduce expenses and training requirements by making apps faster and easier to use. What is your company doing to make corporate apps easier to use for employees?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

I’ve Got a Cheat Sheet to Help Migrate Your Win32 Apps

New York

There’s a cheat sheet to rapidly and cheaply migrate Win32 desktop apps to touchable Windows laptops, convertibles and tablets.

If your Win32 migration path happens to take you to new, touchable PC hardware running more recent versions of Windows, I have a nice shortcut for you. One of the great hallmarks of Windows over the years is the notion of long-term, backwards compatibility so that customers can continue to use their apps through successive versions of the operating system. This is why your Visual Basic 6 app “just works” on Windows 10. This is good news and is why global business still runs on Windows. In our mobile-first world, you should be looking to make those Win32 apps less dependent on a mouse and keyboard by pivoting toward touch-first interaction. If you don’t have the time, money or resources to rewrite those apps for the new Windows Runtime, I have a book for you titled, “Keeping Windows 8 Tablets in Sync with SQL Server 2012.”

The strategy of this book allows you to keep using your existing codebase while making some easy changes to the UI. If you want to give your users an immersive experience, there are a number of screen elements you can modify or eliminate that will do the trick. It’s also important to dramatically increase the size of the fonts and every UI and navigation element so they’re touchable and readable from any angle. This is such a big topic that I wrote whole a book on the subject. Go check out this book on Amazon if this scenario applies to you.

Improve user productivity and reduce company expenses by migrating to modern Windows platforms through simple UI modifications to existing apps that leave business logic intact. How quickly is your company migrating it’s legacy apps from the 90s?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Convert Your Confusing Win32 Apps to Touch First Mobile Apps

Philadephia

Migrate confusing Win32 apps with tiny controls to touch first mobile apps with large fonts and UI elements while including gesture support and proper spacing.

The advent of a mouse connected to every computer gave users a pixel-precision pointing device. Coupled with ever-growing computer monitors and higher resolution screens, UI elements got smaller and smaller. This wasn’t a problem until mobile devices with their small screens became popular. The developers that crammed lots of small buttons and data grids on big PC screens brought those bad UI habits to mobile.

At first, these new mobile developers got away with it because personal digital assistants (PDAs) like the Palm, Handspring, Zaurus and Pocket PC used a stylus with plastic, resistive touch screens. Until the touchable iPhone was released in 2007, many smartphones used a stylus as a replacement for the mouse’s precision pointing. This facilitated tiny, touchable UI elements that were hard to see.

When developing today’s mobile apps (native + web), touchable UI elements like buttons must be finger-friendly and at least 44 x 44 pixels in size. To prevent the “fat-finger” problem, they must also be at least 20 pixels apart from each other. This will vary based on screen size and pixel density. Implementing responsive design principles is also a must. UI elements must scale smoothly to different smartphone and tablet screen sizes and support gestures like swiping. They must also reorient themselves when a device shifts between portrait and landscape and implement “hamburger” menus to conserve screen space.

Improve user productivity by creating touchable apps that are easy to use to get employees up and running while reducing training requirements and expenses. What is your organization doing to improve app productivity?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

It’s Time for one Mobile Database to Rule Them All

WashingtonDC

Migrate Win32 applications using a mobile database like FoxPro, dBase, Access and SQL Server Compact to SQLite across all mobile devices.

If it weren’t for desktop databases and learning SQL, my career as a developer may never have launched. I learned dBase for DOS in college, moved on to Paradox when Windows arrived on the scene and then fell in love with Access. I want to take this moment to say “I’m sorry” to all the IT departments that watched in horror as workgroup-level Access databases spread like wildfire on NetWare, Windows for Workgroups and NT servers to take over the corporate world. Employees who weren’t developers or DBAs were empowered to build their own solutions.

When devices for the mobile enterprise arrived in the late 90s and early 2000s, new databases like Sybase SQL Anywhere and Microsoft SQL Server Compact picked up where their desktop forbearers left off. These tiny relational engines brought serious business apps to life with built-in data sync with server databases. Today, platforms like iOS, Android and Windows are the biggest game in town and the only mobile database that runs on all of them is SQLite. From a pragmatic standpoint, this open source, cross-platform database with ACID (Atomicity, Consistency, Isolation, Durability) support should be your choice to give enterprise mobile data apps the broadest reach. Don’t worry about SQLite just being the database flavor of the week. It supports SQL-92 and works with most programming languages. It has a public domain license and has been around since the year 2000. It also happens to be the most widely deployed database in the world.

Improve user productivity and increase revenue by using a mobile database that works with every device and keeps your apps working with or without connectivity. Which desktop, mobile or embedded databases are you currently using?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany

Keep your Mobile Data Safe when Apps Talk to Each Other

Miami

Convert Win32 applications using local interprocess communications (IPC) to mobile apps that securely send data to each other via contracts.

In the 90s, platforms and programming languages allowed developers to call functions that were increasingly farther away from the calling code. Calling into subroutines gave way to instantiating classes to call functions. Calling exported functions in separate C DLLs gave way to using Object Linking and Embedding (OLE) to call functions in separate programs. You could even embed the UI of a different program like Excel inside your app.

Developers went nuts with this stuff and started calling functions or passing messages to other local apps using Named Pipes, Mailslots, shared databases, TCP, UDP, message queues and shared files. On Windows Mobile, point-to-point queues were used with multiple executables to get around app memory limits. The problem with IPC is that security took a back seat and apps were just asking to be hacked as they listened for incoming connections like little web servers.

Today’s modern mobile platforms don’t allow this. Platforms require things like contracts, intents and extensions. They declare API interactions and what information can be shared between two apps as well as the files they can open. Users are prompted to give their permission to this type of interaction between apps which prevents data leakage at the device edge.

Reduce risk to your business by migrating your apps to a more secure method of data sharing between app sandboxes. What is your organization doing to secure app data sharing?

Learn how to digitally transform your company in my newest book, “Mobile Strategies for Business: 50 Actionable Insights to Digitally Transform your Business.”

Book Cover

Click to purchase a copy of my book today and start transforming your business!

Sharing my knowledge and helping others never stops, so connect with me on my blog at http://robtiffany.com , follow me on Twitter at https://twitter.com/RobTiffany and on LinkedIn at https://www.linkedin.com/in/robtiffany