Digging Into Device Fragmentation
The mobile ecosystem is a bit crazy, so coding can be a challenge. With OSes, tools, and methods always changing, it's important to keep ahead of the fragmentation.
Join the DZone community and get the full member experience.Join For Free
At AnDevCon in San Francisco last month, we asked other experts a simple question: “How is platform and device fragmentation in the Android ecosystem a challenge?” We had a chance to sit and talk with Alex Austin, CEO of Branch.io, to hear how he sees the importance of addressing device fragmentation and variety for web and native apps viewed on mobile devices.
The mobile space is nuts. I mean pants on fire, bowl of Fruity Pebbles, off the hook crazy pants. Hardware and operating systems change constantly (which is why we publish our Digital Coverage Index). There’s a never-ending deluge of new methods and tools to build your app. It’s the front door to massively disruptive shifts in banking, transportation, and social media. Quite simply, mobile is where your ideas come together for most users.
And it’s hard. It’s easy to write some code, but delivering an app to this market quickly, correctly, and iteratively is fraught with challenges beyond the IDE. Build servers, test automation, device farms, staged deploys, and production analytics all require customization and configuration management to make sure the code shipped delights users.
“In every direction, complexity is an insistent reality poised to take you away from the core development activity: coding.” says Andrew Binstock, lead developer at Platypus, in his article titled “Just Let Me Code!” We couldn’t agree more.
Bring the Pain Forward
Many development teams have found that when they streamline delivery and reduce bugs that escape their early builds, they spend less time on fixing, and have more time for new feature work. For mobile and web apps, this means capturing bugs through a multi-layered approach to automated testing that includes unit, API, and UI testing.
The teams that go achieve 80%+ automation understand the importance of incorporating the inherent variety of devices and conditions, but that requires them to integrate testing on real devices as early as possible in their development cycles. Once they start shipping fewer bugs (that often only show up under specific circumstances), they can reduce technical debt and start moving at an improved pace.
Your Story Matters Most
We know our story, but what’s yours? What challenges do you see with Android development? The more we share about what we’ve encountered, where we’re stuck, and the lessons we’ve learned along the way, the better off we all are. Leave a comment or tweet us about issues you’ve seen and how you’ve overcome them. We look forward to your thoughts!
Published at DZone with permission of Paul Bruce, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.