The Best Way to Leap into Mobile Development [Part 1]
The Best Way to Leap into Mobile Development [Part 1]
Join the DZone community and get the full member experience.Join For Free
How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.
Editor’s Note: In Las Vegas a few years ago, Daniel Melcher got an unusual last-minute invitation: To bungee jump from a 17-story tower in front of Circus Circus. Forgive the pun, but he leaped at the chance – until he neared the edge of the diving platform. “I felt like a cave man, the way my self-survival instinct kicked in,” recalls Melcher, an Internet Application Architect for Actuate. “I shuffled toward the platform edge with two-inch steps. The guy running the jump yelled, ‘One, two, three, go!’ but I said, ‘No – I want to look down first – then I’ll go.’ I looked over the edge and found my colleague Pierre Richer – he looked like an ant – and then I was ready to go. I just did a swan dive out.” And he has the picture above to prove it.
The jump proved to be “life-altering” for Melcher. “Afterward, there was nothing I couldn’t do,” he says. “I overcame a huge mental hurdle.” Melcher got two life lessons from his jump. “The first is to have an attitude of fearlessness,” he says. “There are always new things to learn, and if you’re fearless you’re likely to come out happy. Second is to have what I call ‘gentle confidence’ – you don’t need to bust down doors to make things work out in the end.”
What does this have to do with software? For the last few months Melcher has worked on the next iteration of Actuate’s mobile efforts. His fearlessness and quiet confidence served him well as he dove headfirst into the wide-open world of mobility. You’ll hear more about Melcher’s work soon, but in the meantime we asked him to share some insights about the mobile development landscape.
By Daniel Melcher
We’re at a point where many developers are shifting their focus from consumer apps to enterprise apps. The characteristics of consumer apps are very different from enterprise apps, so mobile developers need to shift their mindset, not just their focus. Think about how three important aspects of mobility – data, location and social – are used differently in consumer versus enterprise apps:
Data: Consumer apps are very personal, with data mostly collected on or created using the device and then sent to a server. Enterprise apps on the other hand tend to get data from servers and send it to the mobile user, and that data depends on what the user is doing. The data is personal, but it’s also very much work-related.
Location: One of the major features of mobile devices is location awareness. For consumer, that means the app knows where I am and what’s going on around me – where my friends are, where a good place nearby is to eat or shop, and things like that. But in enterprise apps, location awareness is often about where resources are in relation to the user. That’s why the first round of mobile enterprise apps were used for shipping and logistics – planning and following delivery routes, for example. The next round of enterprise mobile apps are upping the ante – they’re more about tracking things in your environment – for example, tracking parts that might cause a delay in a just-in-time manufacturing line if they’re missing.
Social: For consumers, social sharing is very much entertainment-oriented. You like something, so you share it. But enterprises use mobile social for what I call “annotainment” – that is, annotating things in a way that helps your fellow users. It’s not just consuming information, but also giving your perspective on it. With annotainment, the app helps to capture ideas and comments from people who have varying perspectives, and make those perspectives available to others who want to see them and who have access.
There’s another important thing to know about the relationship between consumer and enterprise apps: Consumer apps have set high expectations among users. Most corporations have a BYOD (Bring Your Own Device) policy, and users expect to have high-quality, interactive apps in their pockets. Sometimes the quality difference between consumer apps and enterprise apps can be pretty stark, and not in a good way. That has to change.
Details on the Run
Given all of those differences, I see a few emerging trends in enterprise mobile app development that are worth following. Enterprise apps (whether desktop or mobile) are data-driven, meaning they gather and combine data from multiple sources. But while we regularly consume data in deep detail using desktop apps, enterprise mobile apps tend to provide just an overview level of detail. Mobile apps might provide some drill-down, but typically only to a medium level of detail.
Screen size is one reason for this, but the bigger reason is that detail in a mobile app needs to be task-oriented. Put another way: If a certain detail doesn’t help the user to do a task, there’s not much reason to show it. Often an overview of data is enough to let a mobile user make a decision or perform a job.
In a way, mobile apps remind me of software for the first PCs. The hardware had relatively little memory, so early applications were built for very specific tasks. Enterprise mobile apps also tend to be task-specific, as opposed to monolithic apps that can do everything – but that therefore take 15 or 20 minutes to do anything. Mobile users don’t have the time or patience; they want to use their apps on the run, they want to get information very quickly, and they need to get relevant data while they’re doing other things.
That’s why notifications and alerts are so important for many enterprise mobile apps. They can pop up no matter what you’re doing and suggest what you should do in response. Notifications and alerts are particularly powerful when they’re combined with location awareness. Here’s an example scenario for a sales professional: Your device’s GPS shows that you’re near a prospect’s office, and your calendar says you have a free hour because of a canceled meeting. Your app could notify you with the prospect’s name and contact info – and better, it might suggest steps you should take based on the prospect’s stage in the sales cycle.
Published at DZone with permission of Michael Singer , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.