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

It’s Time to Dump your 1990s App Authentication

Orlando

Migrate Win32 applications secured by client/server database logins to mobile apps that use OAuth & enterprise cloud directories for authentication instead.

Do you know Scott Tiger? Are you familiar with SA and no password? If so, you probably worked with client/server database security mechanisms from companies like Oracle, Microsoft, IBM and others. Anyone who’s built client/server, multi-tier database systems over the years has worked with Oracle Net Listener, TNSNames, Sybase DBLIB, ISAM and VSAM drivers plus a revolving door of Microsoft drivers. App logins were typically the same as the database login. DBAs were in control and app developers worked with what they were given. Sometimes data access was secured through the use of views or stored procedures. Things improved when databases started supporting integrated authentication where data access could be controlled by users and groups found in the company Active Directory.

Today’s mobile apps don’t connect to client/server databases this way. Win32 apps connecting via the LAN or VPN can kick the can down the road a bit longer. Everything else talks to databases with web APIs or sync. While these mobile-friendly APIs use database authentication to connect, the services they expose must be secured by an enterprise directory. This pattern provides identity management to mobile apps. Furthermore, cloud-based enterprise directories must be kept in sync with existing on-premises directories to keep the login procedures seamless for employees. Add multi-factor authentication to boost security and avoid consumer auth providers like Facebook or Twitter.

Reduce risk to your organization by decoupling app security from database authentication and make the move to company-wide directory services. Has your employer switched all its enterprise apps to modern authentication methods yet?

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

Boost Employee Productivity by Replacing Proprietary Distributed Broker Technologies with Open RESTful APIs

New Orleans

Move your older, distributed broker technologies like CORBA, RMI, DCOM & RPC to REST APIs that communicate with any device, app, browser or endpoint.

A lot of the bigger companies built large, complex, distributed systems that relied on a variety of technologies to make them work. For example, code in an app makes local function calls in order to get things done. In distributed systems that spanned multiple servers, data centers and geographies, the notion of software in one system calling a function in a system somewhere else was referred to as a remote procedure call (RPC). This was a transformative technology but making it work wasn’t trivial.

The Object Management Group created the specification for the Common Object Request Broker (CORBA) based on the concept of interface definitions. Microsoft created a distributed form of its Common Object Model (COM). Sun baked a Remote Method Invocation (RMI) technology in Java and later added support for CORBA. Lots of distributed software built in the 90s used this stuff to make remote procedure calls, but it was tightly-coupled to those respective technologies and therefore not extensible.

The Simple Object Access Protocol (SOAP) and Extensible Markup Language (XML) came along in the early 2000s and put all those earlier technologies out of their misery. This technology had broad support from standards bodies and corporations alike because it was based on HTTP, worked over the Internet and was platform-agnostic. Web Services were born. All kinds of specifications were created to perform every kind of object passing and remote function calling needed to build cross-platform, distributed systems. A new discipline around Service Oriented Architecture (SOA) came to life based on SOAP.

While SOAP was taking off, Roy Fielding wrote a dissertation on Representational State Transfer (REST) which was a software architecture style consisting of guidelines and best practices for creating scalable web services based on HTTP verbs. REST eventually won out over SOAP and XML during the 2000s due widespread, grass-roots efforts. David beat Goliath. Remember the lesson of standards bodies vs. grass-roots endeavors the next time you’re paralyzed waiting for standards to come along before innovating with new technologies. You might miss an entire technology wave.

The simpler, lighter-weight nature of REST makes it a superior choice over the bloated SOAP wire protocol for your mobile communications needs. Those LTE wireless data networks sometimes crawl along like GPRS and your employees will be glad you used something lighter.

A variety of server technologies allow you to create web APIs based on RESTful principles. Via server API code, you’ll write the same dynamic SQL queries or stored procedure calls that are currently in use with your existing client/server systems. This code will return data formatted as JSON that is consumable by any mobile app or browser. This mobile and firewall friendly way of moving data between devices and databases can also take advantage of server-side caching to further boost performance and scalability.

Reduce risk to your business by removing dependencies on unsupported, proprietary technologies and improve user productivity by implementing a distributed technology that works anywhere with any device. What is your organization doing to empower every employee with business API connectivity?

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

Improve User Productivity by Utilizing Cloud Services to Better Serve Mobile Employees

Mobile employees working around the world are best served by globally distributed cloud services + replicated data with low network latency.

Your organization may have customers and employees distributed all over the world. These people have neither the time nor the patience to wait for data to travel great distances over land or though undersea cables. If your business is currently serving your constituents via an on-premises network or a regional data center, you’re not being responsive to their needs.

Take advantage of services provided by top-tier cloud providers with data centers distributed throughout the world. Narrow your list based on analyst and other trusted reviews of Platform as a Service (PaaS/Cloud development) and Infrastructure as a Service (IaaS/Virtualization) capabilities. Further narrow the list based on network capacity, redundancy, disaster recovery, data handling, support your existing server operating systems, databases, programming languages, and connectors to line of business systems.

Whether lifting and shifting existing systems or building new ones in the cloud, you must go beyond just load-balancing within one or two data centers. Your websites and APIs must be distributed globally so customers and employees are automatically directed to the nearest data centers for the best performance. Additionally, the databases that power these systems must be replicated everywhere so everyone is looking at the same data. One word of caution I’d pass along is to be cognizant of data sovereignty requirements that may limit data flow to a particular region or country.

Improve user productivity and increase revenue by providing fast and reliable access to corporate data to employees anywhere in the world. What is your organization doing to support its global workforce?

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

Reduce Business Expenses and Accelerate Mobile Integration with Backend Servers

Bellevue

Accelerate the mobile integration and delivery of server resources to any device utilizing mobile middleware solutions like MEAP, MADP, MRAD or mBaaS.

Enterprise mobile apps don’t live in a vacuum. They typically communicate with a backend system. Some newer, vertically-integrated packages provide the backend system and mobile apps to get you up and running quickly. That said, most backend systems aren’t very helpful when it comes to talking to a variety of mobile devices.

There’s a class of mobile middleware systems that accelerate the development of connected enterprise apps. They simplify authentication with enterprise directories, deliver push notifications, provide adapters to connect to other disparate systems and facilitate data sync with devices to name a few. The first of these systems were called mobile enterprise application platforms (MEAP). Over time these systems evolved to something called mobile application development platform (MADP) to support a broader range of scenarios. Hallmarks of both MEAP and MADP was the use of proprietary technologies to rapidly create user interfaces and connect to backend systems. This made it harder to find developers since the programming environments were anything but mainstream. The newer, cloud-based iterations of these systems are called mobile backend as a service (mBaaS). This delivers half the solution as developers code with popular programming languages and interface with backend services via APIs from an mBaaS SDK. In case you need another four letter acronym to accelerate your development, check out the new class of mobile rapid application development tools (MRAD).

Reduce business expenses by getting your mobile solution to market faster with fewer development resources so you can start making money sooner. What is your company doing to accelerate mobile app development?

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

Improve Employee Productivity by Delivering Web Scale to your Mobile Workforce

Victoria

Bring web scale to backend business systems via adapters, replication, sharding, queuing & caching to support a growing mobile workforce.

Many of the backend systems running global business over the last several decades have something in common besides not being able to communicate with mobile devices. They’re not designed to support the scale needed to empower today’s mobile workforces. Actually, most of these packages and associated databases were designed for departmental or workgroup use in a world where everyone had a single PC on their desk. The IT infrastructures of most companies are wholly unprepared to support mobility.

Whether you’re wrapping your systems in REST APIs or using a mobile middleware package, you have the ability to boost the scale of those old systems using several clever techniques. For starters, the servers used to create a new mobile API tier should be designed to cache frequently-used data so repeated calls to the backend servers won’t be needed. This could range from a simple file cache, to using staging tables in a database. To scale-out this mobile API tier, data could be replicated across multiple nodes resulting in a sharding architecture that further spreads the load generated by mobile devices making requests. To further de-couple the system, data uploads from mobile apps could be dropped in queues and processed by background processes. All these things will have the effect of boosting both the performance and scalability of your existing backend systems.

Improve User Productivity and reduce expenses by increasing the number of employees and customers served by existing line of business systems. What is your organization doing to beef up its systems to serve more users and devices?

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

Reduce Corporate Expenses by Mobile-Enabling Existing Business Systems with REST APIs

Portland

Mobile-enable backend business systems by wrapping them with REST APIs that speak the same language as any device, browser or app.

Most backend business systems organizations have deployed over the last several decades have absolutely nothing common. They all speak different languages via myriad binary and text wire protocols. They typically don’t talk to each other and they don’t talk mobile.

This is a big problem in today’s mobile-first world because CIOs expect data from any of their backend systems to be delivered to any device, thus empowering their employees.

Companies are faced with difficult choices ranging from replacing the old systems with new, mobile-friendly ones, rewriting custom systems, upgrading to newer versions if they exist, or moving workloads to the cloud. Many companies are unable to make any of these choices for the same reason they haven’t upgraded their Windows apps from the 90s. Limited budgets.

A lower-cost alternative is to leave these working systems in place but create a RESTful API wrapper around them. You basically encircle these systems with commodity servers or cloud gateways that map proprietary APIs to mobile-friendly APIs. This mapping can be accomplished via code or through connectors or adapters. Now all your existing systems will be able to communicate bi-directionally with any mobile device and more easily interface with customers and business partners. Think of this as mobile SOA.

Reduce business expenses by extending existing workloads to mobile devices rather than replacing those workloads with new solutions. What is your company doing to empower every employee with any device?

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

Wrap a Web API around Your Enterprise & Take Microsoft SQL Server 2014 Data Offline w/ NoSQL via Universal Apps for Windows

Windows NoSQL

At TechEd New Zealand, I presented a session on how to integrate a company’s backend systems into SQL Server 2014 and deliver that data out to mobile devices via Web APIs to support the operations of occasionally-connected apps on mobile devices using NoSQL tables.

Enterprise mobility is a top priority for Chief Information Officers who must empower employees and reach customers by moving data from backend systems out to apps on mobile devices.  This data must flow over inefficient wireless data networks, be consumable by any mobile device, and scale to support millions of users while delivering exceptional performance.  Since wireless coverage is inconsistent, apps must store this data offline so users can be productive in the absence of connectivity.

In this video, I’ll teach you how mashup disparate backend systems into high-speed, SQL Server 2014 in-memory staging tables.  I boost the speed even further through the use of natively-compiled stored procedures and then link them to fast and scalable REST + JSON APIs using the ASP.NET Web API while employing techniques such as in-memory caching.  On the device, I’ll show you how your apps can work with offline data via in-memory NoSQL tables that use LINQ to support the same CRUD operations as relational databases.  You’ll walk away from this session with the ability to deliver flexible server solutions that work on-premises or in Azure and device solutions that work with Windows Phones, Tablets or Laptops.

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

Enterprise Mobility on STL Tech Talk CodeCast

STLTechTalk

I was thrilled to join Gus Emery (@n_f_e) and JJ Hammond (@jjhammondmusic) for a lively discussion of the past and future of Microsoft enterprise mobility on CodeCast Episode 12 of @STLTechTalk.

These guys are doing great work in the developer community! Go check out their site!

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

Empower your Demanding Mobile Line of Business Apps with SQLite and Offline Data Sync on Windows

Presenting at TechEd in Houston, watch my session: “Empower your Demanding Mobile Line of Business Apps with SQLite and Offline Data Sync on Window.”

Most mobile apps require the ability to store data locally to deal with the realities of a disconnected world where ubiquitous wireless networks are non-existent.  While many consumer apps get by with saving light amounts of information as small files, the data requirements of mobile line-of-business apps is significantly greater.  With Windows 8.1 and MSOpenTech’s Portable Class Library for SQLite, .NET developers can build structured data storage into their apps.

In this video, I walk you through creating local databases and tables and show you how to work with offline data.  I also demonstrate a new data sync capability in Microsoft Azure Mobile Services which uses SQLite for local data storage and change tracking.  It even detects data conflicts during a sync so your can resolve them either programmatically or interactively.  There’s no faster way to build robust mobile apps to meet your most demanding enterprise needs.  If you know me, you know that I’ve been in the mobile data sync business for well over a decade and I’ve designed and developed many of the world’s largest architectures.

Where you may have used SQL Compact in the past, now you can use SQLite.  Likewise, where you’ve used the Sync Framework or Merge Replication before, take a look at Azure Mobile Services today.  It might be time to move your mobile enterprise application platform to an mBaaS architecture.  Either way, you still sync data with SQL Server.  I’m really excited about the next chapter in this journey where SQLite runs across all mobile platforms and synchronizes with cloud and on-premise data stores via Azure Mobile Services.

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