Archives

ChatGPT exploded onto the scene in November 2022, and there’s no turning back now. Though certainly not the first conversational AI in the market, ChatGPT has opened a lot of eyes to the myriad ways this technology will change the way we live and work.

Transformational change is no longer a far-off, future state concept. In our own lifetimes and careers, says Dr. Jim Walsh, CTO at GlobalLogic, we’ll begin working alongside a truly creative AI – one that not only executes tasks but understands the full context and business needs of the system it’s developing. One capable of developing the required code for a complex system based solely on human-readable user stories, and even running through sprints and iterations automatically, in a constant state of self-improvement, aided and guided by human developers.

Now, Dr. Walsh can’t put an exact timeline on this, of course. But as we’re already seeing AI-aided coding happen today with tools like ChatGPT and GitHub Copilot, he says he expects that in the not very distant future we’ll start seeing AIs that can write more sophisticated software systems based on natural language specifications contained in user stories, combined with formal logical and physical architecture descriptions.

How Creative AIs Will Transform Software Engineering

Can you imagine? In this ebook, that’s exactly what Dr. Walsh has tried to do. In it, he envisions a typical day in the life of a software engineer working alongside a creative AI with the ability to understand and adapt to business context, personas and user roles, and end user needs.

Picture a creative AI with an actionable awareness of the system’s logical and physical architecture, with a well-developed code generating ability and the capacity to deploy code to a testing environment almost instantly.

What might a day in the life of that software development team look like?

In ‘Software Engineering in the Age of Creative AIs,’ Dr. Walsh walks us through this thought experiment together: 

  • What does a future with no coding or coders look like in practice?
  • Even if creative AIs can generate code that conforms to the specs as given, and even if that code passes exhaustive (and partially computer-generated) acceptance tests enumerated in the user stories, will that be enough to create a software system end users love?
  • What will the future equivalents of today’s product owners, BAs, architects, engineers and testers do? Will their job consist of writing specs and evaluating the output of the AI against what the product owner and technical architect really wanted, both functionally and technically?
  • What will purchased software look like in the future?
  • What will happen when we achieve a constant state of Agile/SAFe sprint review, backlog grooming, product increment planning and sprint kickoff mode powered by creative AIs?
  • How will creative AI as part of the development team impact the way we develop and package software solutions?

Take a walk through the possibilities and envision a future in which an AI can develop all required code for a complex system starting solely from human-readable “user stories.” 

Sure, it’s speculative. But so were Dr. Walsh’s predictions on software and AI from 2009, and over a decade later we know for a fact he wasn’t far off the mark!

Join us in this exploration of how advanced creative AIs may impact our roles as software engineers – and our industry as a whole. We also take a deeper dive into how these future AIs may become true partners in the development process, interactively helping us remove ambiguity from the user stories, identifying missing features and tests, and becoming a full member of the development team.

Click to read Software Engineering in the Age of Creative AIs

More helpful resources:

Hyperautomation means automating everything possible within the organization. Using RPA and AI together in this way can profoundly impact productivity, people management, profitability, and the sustainability of the business as a whole. 

In this guide, readers will learn how cost-effective automations and technologies are helping companies achieve their goals. Learn:

  • What hyperautomation is and why this combination of robotic process automation (RPA) and artificial intelligence (AI) is so powerful.
  • The business benefits of a hyperautomation structure and how it solves common pain points for companies.
  • Which technologies are driving the advancement of hyperautomation tools and strategy.
  • Best practices for integrating hyperautomation in your business.
  • Specific use cases in finance, e-commerce, manufacturing, product development, and healthcare.
  • How GlobalLogic approaches hyperautomation and why we do it this way, with use cases and lessons learned from each implementation.

The healthcare ecosystem is rife with competing interests and forces, from rapidly evolving technologies and shifting government policy to the complex regulatory environment and needs of consumers, payors and providers. Business models are constantly under pressure in this space, and yet innovation tends to be more difficult than in other industries. Legal and policy hurdles, uncertain funding, and evolving revenue models are among the factors complicating digital transformation for healthcare organizations. 

As Chet Kolley, SVP & GM of Medical Technology here at GlobalLogic, shared with Healthcare Innovation News recently, “From complex regulatory constraints and outdated technical models and mindsets to interoperability issues and rapidly changing business models, healthcare is foundationally challenged to handle transformative innovations.”

Given these complexities and competing priorities, where should your organization focus your efforts and resources next? Here are the top trends for innovators and decision-makers in healthcare to keep an eye on in the months ahead.

1. Remote & Virtual Care

The COVID pandemic was telehealth’s watershed moment, as evidenced by a 300% spike in virtual care inquiries in H1 2020 alone. The trend of increased demand for remote and virtual care options continued throughout the pandemic and drove a broad consumer acceptance of these methods of care delivery that we can expect to persist in the years ahead. The patient experience of seeking and receiving care has fundamentally changed – and there are business benefits, too. America’s Health Insurance Plans (AHIP) predicts that telehealth could help save the United States as much as $4.28 billion on health care spending per year. 

Telehealth is just the beginning, and there is much work to be done in the months and years ahead. To shape the future of disruptive innovation in healthcare for everyone’s benefit, there are three major challenges we must tackle on a global and multi-stakeholder level, according to Gaurav Gupta, Vice President – Engineering. The first, he said, is that we “reduce the burden of hospital visits for patients, their families, and caregivers.”

Harnessing the potential of data and technology can streamline physicians’ work, optimize systems, improve patient outcomes, reduce human error, and even lower costs through enhanced web and mobile experiences, he explained.

Other benefits of remote care supported by advanced technology include:

  • Expanded access to healthcare and the democratization of services.
  • Reduced physical contact between patients and their care providers.
  • Improved care for critically or chronically ill patients who need frequent checkups and ongoing monitoring to ensure continuity of care.

Focus on these beneficial outcomes and use them as criteria in evaluating and prioritizing innovations.  

2. Internet of Medical Things (IoMT) & Wearables

Patients are getting more and more involved in managing their own personal health. Our wearables and connected devices help us make healthy lifestyle choices and address specific diseases such as COPD, heart arrhythmia, asthma, pain management, and many others. IoMT devices monitor their own performance, too, using predictive maintenance to reduce costly downtime.

Even insurers are realizing the benefits of wearables, with some offering reduced insurance premiums to those who take preventative measures and provide monitoring data. Businesses are seeing there are advantages to providing them to employees, and they’re becoming less cumbersome to wear around, too. Gartner predicts that by 2024, miniaturizing capabilities will advance to the point that 10% of all wearable technologies will become unobtrusive to the user.

eMarketer predicts the U.S. smart wearable user market is poised to grow 25.5% YoY in 2023, and the diversity of devices on the market is already tremendous. Some of the more popular wearable medical device usages include:

  • Smartwatches for health
  • Wearable continuous glucose monitors (CGM)
  • Wearable pain management devices
  • Wearable cardiovascular disease management devices
  • Wearable EEG monitors

There are many other growing areas where IoT and wearables can be applied to improve patients’ health and overall lifestyle (e.g., smart pills, smart hospitals, patient identification, etc.). Explore more use cases here:

Click to read Internet of Medical Things (IoMT) Case Studies

3. Artificial Intelligence (AI) & Machine Learning (ML)

The role of Artificial Intelligence (AI) is growing and is expected to be one of the major trends in healthcare in the upcoming years, with the demand for precision medicine and cost reduction being key drivers. AI can transform any area of healthcare, from hospital workflow tasks to diagnosing health conditions, providing process automation, and increasing diagnostic accuracy.

AI mimics human reasoning using big data processing and pattern recognition, making quicker and more precise work of data analysis for medical research, diagnostics, long-term care planning, and more. AI and ML are also fueling rapid advancement in how digital twins are being used in healthcare, where they are helping to improve patient and clinician experiences, patient data security, 

Many companies — from startups to major players like IBM, Google, and Microsoft — already have their own AI healthcare projects and are investing in this area more and more. Soon, AI and machine learning technologies will be used across the entire healthcare ecosystem, from simple consumer health applications to complex disease management and clinical decision support.

Here are just a few examples of how AI/ML are being applied in healthcare today:

  • AI/ML algorithms are being used to obtain insights to improve diabetes care and outcomes. 
  • Giving human radiologists an AI assist in analyzing and reading images, enabling faster processing times and the detection of anomalies that escape the human eye.
  • AI chatbots powered by NLP gather and “triage” patient information, directing queries to the right medical professional.
  • Pattern recognition in patient genetics and healthcare data analysis to aid in tailoring treatment to the patient’s unique needs.
  • Significantly reducing the drug development cycle with AI-power efficiencies throughout the process.

4. Medical Robotics & Embedded Devices

Robots are revolutionizing the medical world, and mobile robotic applications are one specific use case with major impacts on patient experience. Collaborative mobile robots can be adapted and waterproofed to assist patients with functional disabilities in showering, for example, which otherwise requires the aid of a human caregiver. This system enables the patient to shower alone, supported by the robot acting on their commands, returning both dignity and independence to the patient. 

Robots can also be used for rehabilitation and physical therapy (e.g., bionics, exoskeletons, next-gen wearable robots), elder-care assistance, autism (i.e., to enhance social interaction skills), and simplifying surgery. In fact, surgical robots comprise the largest component of the medical robotics market. Frost & Sullivan forecasts that by 2025, 80% of surgical procedures are likely to be performed by robots.

Embedded devices have become a fundamental part of how medical treatment is delivered, too. Growth and innovations in the space are being propelled forward by the increased computational power and quality of visual presentation in modern mobile devices, the advent of 5G, and consumer demand for preventative care. Embedded solutions are being used for:

  • Patient monitors
  • Surgical robots
  • Cochlear implants
  • External and implantable cardiac defibrillators
  • Insulin pumps/glucose monitors
  • Ultrasound machines
  • Pain management systems

Explore two use cases, a defibrillator/patient monitoring system and a next-generation insulin pump, here:

Click to read Embedded Medical Device Software Development Case Studies

5. Healthcare Data Intelligence

Having a big data strategy is imperative for making improvements to patient care and experience by reducing medication errors, facilitating preventative care and solving persistent pain points caused by fragmented, siloed patient data. 

It’s just as important for research and clinical trial companies, too, which must stay on top of cutting-edge techniques and opportunities and improved testing processes for analyzing large datasets. Blockchain is one technology proving effective in improving record accuracy and preventing healthcare data breaches. 

Blockchain-based healthcare systems can solve various challenges, such as data interoperability, integrity, security, portability, and many more. Medical records and information about transactions between patients and their healthcare professionals are more accessible to all parties, including insurance providers, even as security is enhanced, thanks to blockchain technology.

Conclusion

Innovative healthcare technologies are making healthcare more accessible, affordable, and personalized for patients. 

These solutions empower physicians and other healthcare providers to build trust and better serve their patients’ needs with faster, easier access to test results, dosing recommendations, medical imagery, and other healthcare data needed to impact patient outcomes positively. 

GlobalLogic helps our healthcare partners revolutionize patient and clinician experiences and outcomes through our deep experience in SaMD, IoMT, health data intelligence and diagnostics, and regulated software development. We help some of the world’s leading Medical Technology, Medical Device, Clinical Research, and Diagnostics organizations bring products to market faster, uncover and capture new revenue streams, and transform healthcare through technology and innovation. 

How can we help you?

More helpful resources:

Developing a platform and populating it with content is just the first step in a complex journey to becoming a top OTT brand. Leaders in the space are increasingly delivering experiences that are not only engaging but immersive and interactive, thanks to increasing AR/VR adoption, broadening consumer awareness of the Metaverse – and the power of predictive personalization.

Top streaming video on demand (SVOD) services have disrupted both TV and film, yet face mounting pressure as technologically savvy consumers grow increasingly discerning and cost-sensitive. OTT companies also face threats from a deluge of free social content, fast-shifting consumer preferences and behaviors, and legacy business models that may not withstand the next groundswell of technological change.

North American subscriptions have slowed, a trend Deloitte attributes to consumer frustration with having to manage multiple subscriptions, losing content to services they do not subscribe to, and receiving poor recommendations. Across all SVOD services, churn has hovered at around 37% since 2020 in North America and 30% in the UK, Germany, Brazil, and Japan.

Even so, the future is bright for OTT players using technology effectively to improve their understanding of individual viewers and serve those customers higher quality, more relevant content. Revenue in the OTT video segment is projected to reach US$316.10B this year, with an annual growth rate (CAGR 2023-2027) of 10.01% driving a projected market volume of US$462.90B by 2027.

Of course, some will take a larger share of those revenue gains than others. 

Is your company positioned and equipped to deliver the highly personalized, exceptional OTT experiences today’s customer craves?

Media consumers are looking for new methods of bundling and accessing content, calling on OTT brands to shift the value proposition and innovate quickly as opportunities emerge. Boosting subscriber retention, adding new lines of revenue, spurring engagement, and even winning customers back (nearly one-quarter of subscribers have churned and returned in the past 12 months) all depend on the company’s ability to deliver outstanding experiences that feel crafted uniquely for each viewer.

OTT companies are being challenged to demonstrate a deep and meaningful understanding of their customer with easily accessible, carefully curated content at every step in that viewer’s journey.

In How to Elevate Your OTT Through Predictive Personalization, you’ll explore the latest AI and machine learning technologies and how to apply the ‘5 Rs’ of personalization at scale. Example use cases illustrate specific ways to optimize subscribers’ experience at various touchpoints, while our sample user journey walks you through creative ways to use ML and predictive analytics to apply personalization in the moments that matter to your customers.

This free GlobalLogic guide includes tips for implementation, AI/ML techniques, sophisticated algorithms and predictive analytics to inspire your OTT strategy, and other recommended resources to help your company not only imagine the possibilities but execute, too.

Click to read How to Elevate Your OTT Through Predictive Personalization

Want to learn more? Get in touch and a member of our expert OTT digital engineering team will reach out to see how we can help.

I was talking with my daughter, a creative and a commercial writer, about ChatGPT recently. At a client’s request, my daughter has begun using ChatGPT for some of her commercial work. She’s also started to experiment with AI-based image generation tools as a means for creating cover art and illustrations. She is often amused by what ChatGPT comes up with, but it’s clear to me that the potential is there for it to become a serious creative tool in diverse fields in the near future. This got me thinking… 

Could brilliant late 16th/early 17th century poet and playwright William Shakespeare have been replaced by an AI? 

Or might Shakespeare have used an AI, if he had one, as a creative tool? To experiment with this idea, I started with a sonnet (sonnet 18) actually written by Shakespeare himself somewhere in the late 1500s and first published in the year 1609:

Shall I compare thee to a summer’s day?
Thou art more lovely and more temperate.
Rough winds do shake the darling buds of May,
And summer’s lease hath all too short a date.
Sometime too hot the eye of heaven shines,
And often is his gold complexion dimmed;
And every fair from fair sometime declines,
By chance, or nature’s changing course, untrimmed;
But thy eternal summer shall not fade,
Nor lose possession of that fair thou ow’st,
Nor shall death brag thou wand’rest in his shade,
When in eternal lines to Time thou grow’st.
    So long as men can breathe, or eyes can see,
    So long lives this, and this gives life to thee.

On the assumption that Shakespeare was writing about a young person (which I think is a reasonable guess from the content of the poem and the fact that Shakespeare was 36 himself in the year 1600), and that he was writing about a woman (not at all certain, as some closely related sonnets were clearly written to a man — but I wanted to make my request to the AI as concrete as possible so I had to pick), I asked ChatGPT to “Write a Shakespearean sonnet comparing a young woman to a summer’s day.”

Recommended reading: Tips for Staying Relevant in the Age of Creative AIs Like ChatGPT 

ChatGPT Writes a Shakespearean Sonnet

Here’s what I got back:

Oh fairest maiden, like a summer’s day,
Thou art a sight that doth my heart beguile,
Thy gentle beauty, like the sun’s warm ray,
Doth light my soul, and make my spirit smile.

Thou art more lovely than a summer’s morn,
When golden light doth gild the earth below,
And larks do sing to greet the day reborn,
As thou dost grace the world with thy sweet glow.

The summer’s day, it doth too quickly pass,
But thou, fair maiden, shall forever shine,
For in my heart, thy beauty shall amass,
And make my world a summer ever fine.

So let me bask in thy sweet radiance bright,
And be the moon that mirrors thy delight.

Taste in poetry differs greatly but from my personal perspective, the AI-generated sonnet is actually reasonably good. Keep in mind that my skill set is in science, math and engineering — not literature. 

The rhyme scheme (day/ray, beguile/smile, etc.) seems mostly unforced (though I’d question (pass/amass), and while somewhat disjointed, the poem flows reasonably well from idea to idea. The imagery seems appropriate, comparing the loved one’s beauty to sunshine, birdsong at sunrise, and to the warmth of the day. The poem even captures something of Shakespeare’s original nuance that summer is brief, and that beauty can be, too. 

But comparing it with Shakespeare’s original, it’s clear that even though Shakespeare claims in the first line of Sonnet 18 that he’s comparing his love to a summer’s day, in the subsequent lines he actually contrasts the two (“thou art more lovely and more temperate” [emphasis added]). 

Refining Our Ask of the Creative AI

So, let’s try again by asking ChatGPT to “write an original Shakespearean sonnet contrasting a young woman and a summer’s day.” Here’s how the AI responded:

Thou art more fair than any summer’s day,
With beauty that doth put the sun to shame,
For though the day may bring its warm display,
Thy loveliness outshines its brightest flame.

The sun may rise and set without a care,
And scorch the earth with its unyielding heat,
But thou art gentle, with a heart so rare,
And bring’st a calmness that is oh so sweet.

The summer’s day may come and go with ease,
But thou art constant, with a heart so true,
Thy beauty brings a sense of perfect peace,
And fills my heart with love that’s ever new.

So though the summer’s day may fade away,
Thy beauty shall forevermore hold sway.

This, I think, is somewhat closer to Shakespeare’s original intent. In the closing stanza, the AI-generated poem touches on the idea that while summers are brief (especially in Shakespeare’s native England), his love will stay beautiful forever. However, it does not state the reason for this, as Shakespeare does in his original: namely that his love’s beauty is captured forever in the poem itself (“So long as men can breathe, or eyes can see,/So long lives this, and this gives life to thee.”) 

Okay, Perhaps Our Creative AI Needs More Guidance

Let’s try one final time by asking ChatGPT to “write an original Shakespearean sonnet contrasting a young woman and a summer’s day, emphasizing that his love’s beauty is captured forever in the poem itself.” Here’s what the AI came up with this time:

Fair maiden, thou art like a summer’s day,
With beauty that doth strike the heart so true,
But though the day may soon slip away,
Thy loveliness shall live in this poem anew.

For as the sun may set and leave us cold,
And summer’s warmth may soon be but a dream,
Thy beauty, in this verse, shall still unfold,
And like a flower, forever in bloom, gleam.

The summer’s day may be but fleeting bliss,
A momentary warmth, soon to be gone,
But in this sonnet, thy beauty shall persist,
And shine eternal like the brightening dawn.

So though the summer’s day may fade from view,
Thy beauty, in this poem, shall be ever true.

In my definitively-not-an-English-major mind, I think this AI-generated poem is fairly close in its intent to my admittedly distinctly amateur understanding of Shakespeare’s original. 

Technically, the poem is not as good as Shakespeare’s, in my opinion; for one thing, some of the language construction is a bit forced. For example, the word “gleam” chosen to rhyme with “dream” only makes sense if it refers to “Thy beauty” in the previous line, since flowers do not “gleam.” It’s not incorrect to construct a sentence this way, especially a stanza in poetry, but it’s awkward and somewhat confusing, again in my layman’s opinion. Also, some of the line endings seem chosen simply because they rhyme (true/anew, cold/unfold) and don’t add nuance to the poem itself. 

On the other hand, Shakespeare’s rhyming word choices sometimes reinforce and contrast with each other (shines/declines, fade/shade), adding a further dimension to the poem. Also, I find Shakepeare’s phrases (“rough winds,” “darling buds of May”) more vivid in the imagery they invoke, personally. But I think the major ideas that at least I myself take away from Shakespeare’s original are reflected in the AI-generated sonnet in some way, and the piece itself is basically serviceable as a poem.

Even if you agree with me that it does, basically, embody the same concepts as Shakespeare’s sonnet, would this AI-generated poem live on and inspire people for over 400 years, as Shakespeare’s has done? 

Part of the reason for the original Shakespeare sonnet’s fame are certainly cultural and historical. We were taught it in school and told it was good, so we believe it is good. We are also very familiar with the Shakespeare original, so it has the allure of an old friend, and resonance from the various times in our lives we encountered it before. It has the “first mover” advantage where you probably had already read it, in most cases, before you saw the AI-generated version. The works of Shakespeare also shaped the English language, to some degree, so our standard of measure is to some extent biased to make us appreciate the original.

Even doing my best to account for these factors, though, I have to say that the AI-generated poem does not compare favorably to Shakespeare’s original, and will not stand the test of time in the same way. 

If I had encountered the AI-generated version before I read the original Shakespearean Sonnet, I might have been excited by it. However, that excitement would not be because of the way it is expressed but rather because of the novelty (to me) of the thoughts behind the poem: namely, the idea to contrast “my love” and a “summer’s day,” and that unlike a summer’s day, that his loved one’s beauty will not fade because it is immortalized by the poem itself. 

However, we fed those thoughts to the AI in our original request; these ideas were not generated by the AI itself. What the AI did was to express those ideas, adding concrete illustrations, and phasing the result in a poetic form.

Original Thinkers Have Nothing to Fear of the Age of AI

This in no way lessens the achievement here by ChatGPT— what it can do is truly remarkable. That it can generate poems this good in seconds, on demand, and actually expressing the thoughts we gave it, is absolutely mind-boggling. Imagine giving the same instruction as an assignment to a human being. What would we get back, and when (if ever)? 

Of course, Shakespeare’s original sonnet (and all his works) were certainly ingested and processed by the AI, so it’s no coincidence that the original would inform the AI’s output in some way. We can’t hold that against the AI, however; nearly every human 21st century poet in the west — and many from other parts of the world — would have the same advantage of having read Shakespeare. Even given that, would most humans do as well?

Our conclusions from this exercise:

I don’t think Shakespeare or any original thinker has anything to fear from AIs. 

An AI is a potentially powerful tool that can help thinkers express original ideas in useful ways, and to help them generate new ideas as well.

A major driver behind many written, artistic and other works is not originality for its own sake, but rather to express what the author wants to say to a particular audience. 

Other people — or AIs — may give expression to those thoughts and feelings without taking away from the author’s intent. However, wherever they originated, when the written (or artistic expression) of ideas or feelings reflect one’s own, conveying that congruence can itself have value, depending on the audience. 

For example, providing an expression of my thoughts and my feelings to my loved ones can be significant to them even if I worked with an AI (or bought a greeting card, or bought a work of art or a gift) that expressed precisely what I wanted to say.

While ChatGPT and other AI systems in the pipeline are starting to usurp some of the functions that we thought of as human — creating art, poetry and computer programs, for example — the concept behind “delegating” creativity is nothing new. Executives often tell their assistants or their marketing departments the broad outlines of a communication that will later go out over their name. The actual content will then be written by an assistant, or by marketing, HR or another group. The fact that celebrities use ghost writers to produce works published under their own name is well known. 

In our everyday lives, we often search for a greeting card written and drawn by someone else that nonetheless conveys what we wish we could say (as poetically or beautifully) to a loved one. We buy art and other gifts created by other human beings that convey some feeling or idea we would like to express or remember.

Are truly creative people threatened by the fact that there are other creative people in the world? Maybe the insecure ones are, until they gain more confidence. 

But in general, I think creative people are more likely to be spurred on by the other creative people around them. Shakespeare, for example, is thought to have become a better writer because of his contemporary writers — and sometimes rivals and critiques — Ben Johnson and Christopher Marlowe. Having another creative person to bounce ideas off of, or to challenge your own ideas, is often the path to excellence. 

I think creative AIs like ChatGPT will assume that role: they will make us more creative, and better at what we do. I think Shakespeare might have used something like ChatGPT to help him get started generating new concepts, to do research (he wrote a lot of history), and to look for typos and grammar issues in his own work, for example.

And for those areas where creative AIs can do better work than a given individual can (I’m a terrible graphic artist, for example), they can help us to express our ideas and feelings in ways we can imagine, but otherwise could not bring to life unaided. 

Fearing a new source of creative expression is about as futile as living in fear that the person in the next desk is smarter than you, or a better coder, or a better writer, etc. Where that is true, your best strategy is to have the confidence to enlist their help — or to emulate their example and learn to do better. Where it is not true, your best strategy is to find what you do uniquely well, and partner with your office mate to produce something really great. 

AI or person, learning from it and partnering with it is what I think Shakespeare would have ended up doing with a technology like ChatGPT. Or, as Shakespeare himself might say: “To use AI, or not to use AI: That is the question.”

More helpful resources:

Companies looking to modernize, create efficiencies, and pave the path to a more sustainable future increasingly turn to digital product engineering for their solutions. The product engineering services market is expected to reach $1,277.15 billion in 2026, and those using digital technologies to their advantage have a definite edge. 

However, companies may struggle to find and keep the right tech talent in-house to fuel their digital engineering strategy – especially now. Navigating this and other common challenges is key to crafting and implementing a successful strategy.

In this article, we’ll explore digital product engineering, how it benefits different types of businesses, and what challenges stand between organizations and digital product engineering success. You’ll find helpful tips throughout the article based on our own wide-ranging experience.

What is Digital Product Engineering?

Digital product engineering uses innovative software products, digital technologies, and IT architecture to create products that deliver exceptional user experiences and solve real-world problems. 

It covers all aspects from concept to completion encompassing digital product design, development, and delivery. Digital product engineering involves research, analysis, product design, development, testing, ongoing maintenance, support, and product optimization throughout its lifecycle. The goal is to deliver robust digital products that meet customer requirements while providing an optimal user experience.

Recommended reading: If You Build Products, You Should Be Using Digital Twins

Phases of Digital Product Engineering

The phases of digital product engineering are key in developing a successful digital product, from gathering requirements and formulating a system architecture to coding and testing. These steps can be broadly grouped into five phases: 

  • Ideation
  • Design
  • Development
  • Testing
  • Deployment and ongoing maintenance

The team defines the product’s goals and objectives in the ideation phase. Based on user feedback and market research, they also determine what features to include. Then, during the designing phase, the team creates wireframes, mockups, and prototypes to visualize how the product will look and function.

digital product engineering

In development, software engineers code the product according to its specifications while accounting for scalability and performance considerations. Engineers perform rigorous quality assurance in the testing phase to ensure they fix all bugs before launch

After successfully passing tests, the digital product is ready for deployment.

These five phases of digital product engineering enable teams to build reliable products that meet customer needs while providing an optimal user experience.

How Digital Product Engineering Can Help Your Business Grow

From concept to launch, digital product engineering helps organizations create successful products that maximize efficiency and drive revenue growth.

Improved Time to Market

Reducing time to market is crucial for any business looking to stay competitive. Digital product engineering can help organizations reduce their time to market by streamlining their development process and driving efficiency throughout their product cycle.

Businesses can quickly develop, deploy, and test their products by leveraging the five phases of digital engineering. This helps teams identify issues early and launch products that meet customer needs.

Additionally, digital product engineering enables organizations to quickly adapt to changing customer demands and remain agile in a rapidly evolving market. 

Enhanced User Experience and Optimization

User experience is essential for any product’s success. Using user-centric design principles, digital engineers can create highly optimized products for users’ needs. This ensures that customers have a seamless experience with each interaction, no matter how complex or simple the task may be.

enhanced user experience and optimization

By leveraging technologies such as artificial intelligence and natural language processing, digital product engineers can also create intelligent products that learn from user behavior and optimize their performance over time.

Ultimately, digital product engineering allows businesses to develop products with enhanced user experiences and optimized capabilities, improving customer satisfaction and loyalty.

Recommended reading: AI’s Impact on Software Development: Where We Are & What Comes Next

Competitive Advantage with Innovative Products and AI Solutions

Digital product engineering is a powerful tool that can help companies create smarter, more innovative products using artificial intelligence, natural language processing, and machine learning technologies. This allows companies to provide customers with personalized experiences and services tailored to their needs. Digital product engineering also enables businesses to scale up their operations more quickly, helping them stay ahead of the competition through speed and agility.

What does this look like in practice? Let’s take this leading UK retail bank as an example. The company needed a new solution to solve the persistent lack of business and operational insight caused by its legacy software’s inability to handle the massive volume of data generated by real-time events and transactions. 

We designed and implemented an AIOps-based solution that uses AI to:

  • Provide real-time insight and automate alerting.
  • Detect and flag any anomalous behavior and indicators of failures in real time.
  • Ensure complete transparency into the hardware, network, storage, and application layers across the business.
  • Make it easy for decision-makers in operations, product, and business teams to search, analyze, visualize, and act on relevant insights.

In short, this example of digital product engineering enabled the bank to activate its important data and put it to work improving customer experience in every channel, in real time. 

Reduced Operational Costs and Improved Customer Demands

By utilizing technology such as AI and a digital product engineering strategy, businesses can develop products that can better predict customer demands and preferences while reducing operational costs. This reduces the time it takes to respond to customer inquiries and provides a more efficient way of managing operations.

Additionally, digital product engineering allows businesses to create customized applications for their customers, providing an improved user experience that meets their needs. This helps reduce operational costs while ensuring customers have the best possible experience.

Common Digital Product Engineering Challenges 

Digital product engineering is an exciting and rapidly evolving field that has enabled businesses to create innovative, efficient products. However, it can also present some challenges.

Talent shortage 

The talent shortage in digital product engineering is a growing concern for businesses looking to enter or evolve. Digital product engineering requires a diverse range of professionals with specializations in each area across the development cycle, making it increasingly difficult to source quality candidates with the right skill set.

Almost 95% of employers looking for tech talent have encountered a skills shortage over the past year, and some analysts expect we’ll see a global shortage of more than 85 million tech workers by 2030.

This can lead to delays in development and higher costs, as businesses may need to invest more in training staff to develop their skills. Many companies work with a digital product engineering partner to access top talent and scale their operations when needed.

Pressure on the R&D budget

One of the biggest challenges facing digital product engineering is the pressure on R&D budgets. The cost of research and development can be a significant expense for businesses, particularly in today’s competitive market.

Companies must balance their budget between investing in innovative products and services and maintaining existing products. Additionally, companies have to consider how much money they should invest in user experience (UX) design and other areas that are key to creating successful digital products.

This pressure can lead to fewer resources being available for product innovation, ultimately hindering a company’s ability to stay ahead of the competition.

To solve this, businesses should focus on creating an appropriate balance between these two priorities while also ensuring they are allocating enough resources toward UX design, user testing, and other activities related to digital product engineering.

Battling legacy systems and processes

Legacy systems and processes can be a major obstacle for digital product engineering teams. Many companies have legacy systems in place that are outdated and difficult to maintain. This can lead to delays and additional costs in product development as teams must work around the existing infrastructure.

In addition, legacy processes can limit opportunities for innovation as teams need to adhere to existing protocols or risk breaking the system. To overcome this challenge, businesses should consider investing in new technologies that are better suited for digital product engineering, and one efficient way to do this is to outsource.

Transformational change is hard. By involving a team of subject matter experts to evaluate internal processes and create a strategy for change management, businesses can get the support they need for their team and gain better insights into their product development process.

Competing priorities

Competing priorities can be challenging for companies implementing or already utilizing digital product engineering practices. With limited resources and tight timelines, balancing competing demands and effectively prioritizing tasks can be difficult.

To ensure the team can stay focused and productive, stakeholders must work together to identify clear objectives and manage expectations. This should include setting realistic goals and timelines, as well as providing regular feedback and support throughout the process.

Additionally, it is vital that all stakeholders understand what’s required in each digital product engineering phase to keep the project on track. By taking these steps, digital product engineering teams can better manage their workloads and deliver results more efficiently.

Digital Product Engineering FAQs

Here are a few of the questions our team is most commonly asked by business leaders regarding their digital engineering projects.

What are the most impactful business benefits of a digital product strategy?

A successful digital product strategy provides beneficial business outcomes by:

  • Enabling the business to grow a more diverse and differentiated product portfolio.
  • Delivering superior customer experiences with high-quality products that can evolve to meet their needs.
  • Providing a data-backed product roadmap to guide budget and resource allocation.
  • Fueling business growth with more profitable products and digital solutions.
  • Supporting organizational and digital maturity goals and business sustainability by evolving or replacing legacy products, updating technical architecture, and optimizing business processes and operations.

What are the main benefits of working with a digital engineering services partner?

A partner with deep experience in digital product engineering provides a skilled team, software product engineering support, an agile product development approach, and a proven process for developing innovative technology solutions. They can augment your in-house team and resources with specific types of engineering expertise, digital accelerators based on a proven framework and best practices, and other digital advisory and executive support services.

How can we get started with digital product engineering?

Getting started with digital product engineering can be daunting, but it is also an exciting opportunity to create innovative products and solutions. The first step is understanding and evaluating your internal process, technology, and critical change requirements.

get started with digital product engineering

Enlisting the support of an experienced partner to help with ideation, assessment, digital advisory and development can help. Our digital product engineering services help companies develop a plan tailored to their unique needs for user experience, technology, resources, budget, and timeframe. Identifying the right opportunities for your organization is essential and will fuel your path to sustainability for years to come.

More helpful resources:

Overview & Best Practices 

Cloud infrastructure entitlement management, or CIEM, is the process of managing and controlling access to cloud-based resources within an organization. It’s a way to ensure that the right people have the right level of access to the right resources, while also maintaining security and compliance with organizational policies and regulations.

CIEM includes managing user permissions, access controls, and other entitlements for cloud services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).

As organizations increasingly rely on cloud infrastructure to support their business operations, having a robust CIEM system in place is essential. This helps to minimize the risk of security breaches, data leaks, and other security incidents that can harm the organization’s reputation and bottom line.

In this article, you’ll find an overview of what cloud infrastructure entitlement management is, how it works, what challenges to watch out for, and the benefits of getting it right. You’ll also find a helpful list of best practices to guide a successful CIEM strategy in your organization.

The Importance of Cloud Infrastructure Entitlement Management

CIEM is an essential component of any organization’s cloud security strategy and should be a top priority for any organization with cloud-based services. It can help to streamline access management processes, reduce administrative burdens, and improve overall operational efficiency. By automating entitlement provisioning, de-provisioning, and access requests, organizations can reduce the likelihood of errors and ensure that resources are available to users who need them promptly.

CIEM works by establishing policies and procedures for managing entitlements to cloud-based resources, automating entitlement provisioning and de-provisioning, monitoring entitlements continuously, and auditing entitlements regularly. Without a proper entitlement management system in place, organizations may face a variety of security and compliance risks, including unauthorized access to sensitive data, data breaches, and regulatory violations.

Benefits of Cloud Infrastructure Entitlement Management 

The benefits of CIEM include and aren’t limited to:

Improved security. Effective entitlement management can help organizations ensure that only authorized users have access to their cloud resources, reducing the risk of data breaches and other cyberattacks.

Regulatory compliance. Entitlement management can help organizations ensure compliance with regulations such as HIPAA, GDPR, and PCI-DSS by enforcing access control policies and auditing entitlements.

Cost savings and operational efficiency. Effective entitlement management can help organizations save costs by eliminating unnecessary access rights, reducing the risk of over-provisioning, and automating user access requests and approvals.

Recommended reading: 4 ways cloud helps future-proof your teams

Challenges in Managing Cloud Infrastructure Entitlements 

Managing cloud infrastructure entitlements can be demanding due to the complex nature of cloud environments, the dynamic nature of cloud resources, and the need to ensure that only authorized users have access to cloud-based resources. Among others, these factors are paramount:

Oversight of access to ephemeral resources

In today’s cloud environments, people might provision or de-provision resources at any given moment. Managing and monitoring access to those resources requires a dynamic approach.

Over-permissioned access to cloud resources

With a manual approach to permissions, many enterprises err on the side of granting access to excessive permissions that significantly raise the risk of a security breach. 

Multi-cloud complexity

A vast number of companies adopt a multi-cloud approach – this leaves enterprises without a single, unified approach to managing permissions across all of their cloud resources.

Gaining clarity at scale

Enterprises that err on the side of over-permissions need a clear understanding of what entities have more privileges than they ought to. That clarity will allow them to reduce the risk of a security breach.

Consequences of Poor Entitlement Management

Implications of poor entitlement management can result in security breaches, data leaks, regulatory violations, and other security incidents that can harm the organization’s reputation and bottom line. Among others, these few crucial implications are worth your attention: 

Security breaches

Inadequate entitlement management can result in security breaches, where unauthorized users gain access to sensitive data and resources. This can lead to data theft, financial losses, and damage to an organization’s reputation.

Compliance violations

Failure to manage entitlements properly can result in compliance violations, where an organization fails to meet regulatory requirements for data privacy and security. This can result in legal and financial penalties, as well as damage to an organization’s reputation.

Financial losses 

Insufficient entitlement management can also result in financial losses, as over-provisioning can lead to unnecessary expenses, and under-provisioning can result in decreased productivity and operational inefficiencies. Additionally, security breaches and compliance violations can lead to direct financial losses, as well as indirect losses such as reputational damage and lost business opportunities.

Best Practices for Cloud Infrastructure Entitlement Management

The vast majority of practices intended to be preventive are aimed at avoiding unnecessary risks for organizations while establishing and overseeing cloud entitlements. Each is profoundly rooted in the cloud security paradigm and has been proven in implementation. 

A. Establishing a policy

To effectively manage cloud infrastructure entitlements, organizations should start by establishing a policy that outlines the rules and processes for entitlement management. This policy should include the following:

  1. Defining entitlements: Clearly define the different types of entitlements, such as user access levels, permissions, and roles.
  2. Assigning responsibilities: Designating individuals or teams responsible for managing entitlements and enforcing the policy.
  3. Setting access control policies: Establishing policies for granting and revoking entitlements, managing password policies, and limiting access to sensitive data.

B. Implementing automated provisioning and de-provisioning.

Automating the process of provisioning and de-provisioning entitlements can help to ensure consistency and reduce the risk of errors. This process can be accomplished through the use of workflows and integration with HR systems for user lifecycle management. The following steps are essential for effective automated provisioning and de-provisioning:

  1. Automating user onboarding and offboarding: Streamlining the process of adding and removing users from cloud infrastructure entitlements.
  2. Using workflows to ensure consistent entitlements: Creating standardized workflows for requesting, approving, and provisioning entitlements.
  3. Integrating with HR systems for user lifecycle management: Synchronizing the entitlement management process with HR systems to ensure that changes to user status are reflected in entitlements.

C. Monitoring entitlements continuously.

Real-time monitoring of entitlements is critical for detecting and preventing unauthorized access. Organizations can use the following methods to effectively monitor entitlements:

  1. Real-time monitoring of entitlements: Continuously monitoring entitlements for unauthorized changes or access.
  2. Alerting on entitlement violations: Setting up alerts for unauthorized changes or access to entitlements.
  3. Using machine learning to identify anomalous behavior: Using machine learning algorithms to identify and flag suspicious behavior, such as unusual access patterns.

Recommended reading: Cloud Sandboxes: How to Train Your Engineers To Go Cloud-Native

D. Auditing entitlements regularly.

Regular auditing of entitlements can help to ensure that entitlements comply with the organization’s security policies and regulatory requirements. The following steps are critical for effective entitlement auditing:

  1. Periodic review of entitlements: Conduct regular reviews of entitlements to ensure they are still necessary and in compliance with the organization’s security policies.
  2. Identifying and removing unnecessary entitlements: Identifying and removing entitlements that are no longer needed or that pose a security risk.
  3. Conducting compliance audits: Performing compliance audits to ensure that entitlements comply with regulatory requirements.

E. Providing self-service access requests.

Empowering users to request their entitlements through a self-service portal can help to reduce the workload on IT and increase user satisfaction. To effectively provide self-service access requests, organizations should consider the following:

  1. Empowering users to request entitlements: Giving users the ability to request entitlements through a self-service portal.
  2. Providing a user-friendly interface: Creating a user-friendly interface that makes it easy for users to request entitlements.
  3. Automating approval workflows: Streamlining the process of approving entitlement requests through automated workflows.

F. Using a unified access management platform. 

This enables establishing a centralized policy abided by the entire organization that precludes the option of management by a bias, influence, or authority. It eliminates excessive permission to strictly sensitive cloud data.       

  1. Centralizing entitlement management: To effectively manage cloud infrastructure entitlements, organizations should adopt a unified access management platform that centralizes entitlement management across different cloud environments. This can provide a single source of truth for all entitlements, making it easier to manage, monitor, and audit entitlements.
  2. Integrating with identity and access management (IAM) systems: A unified access management platform should integrate with an organization’s identity and access management (IAM) systems to enable consistent management of users, groups, and roles across different cloud environments.
  3. Providing a single source of truth for entitlements: By integrating with IAM systems and centralizing entitlement management, a unified access management platform can provide a single source of truth for all entitlements. This can help ensure that entitlements are consistently managed across different cloud environments, reducing the risk of security breaches and compliance violations.

Overall, implementing these best practices for cloud infrastructure entitlement management can help organizations reduce security and compliance risks, achieve cost savings and operational efficiency, and improve their overall cloud security posture. 

Organizations must prioritize entitlement management as a critical security function and continuously improve their entitlement management practices to stay ahead of evolving cloud security threats and vulnerabilities.

Key Takeaways

CIEM is critical for maintaining security and compliance in cloud environments. It helps organizations control access to cloud-based resources, reduce security risks, and ensure compliance with policies and regulations.

A robust CIEM system can help organizations to:

  • Control access to sensitive data and resources
  • Enforce security policies and best practices
  • Maintain compliance with relevant regulations and industry standards
  • Reduce the risk of data breaches and other security incidents
  • Improve overall cloud security posture

Organizations must prioritize the implementation of cloud infrastructure entitlement management to mitigate security risks and comply with regulatory requirements. By following best practices such as establishing policies, implementing automated provisioning and de-provisioning, and monitoring entitlements continuously, organizations can improve their overall security posture and reduce the likelihood of security incidents.

As cloud adoption continues to increase, CIEM will continue to grow increasingly important. Organizations that fail to implement proper entitlement management practices may face serious security and compliance risks. Investing in cloud security is a long-term strategy for success, and organizations should recognize the value of proactive entitlement management as part of that strategy. 

More helpful resources:

Software development metrics enable developers to track and understand progress, identify problems and obstacles, fine-tune strategies, and set realistic goals. To make the most of them, it’s crucial to pick the right metrics for your team’s particular needs.

Selecting the appropriate metrics can be daunting. There are many different types of metrics, each promising different value-added opportunities for your specific project.

This article aims to identify qualities to look for in software metric approaches and provide examples of metrics you should consider for your next project. You’ll also find tips for improving your development strategy as you put those metrics to work.

What are software metrics, and why are they important?

Software metrics are measurements used to evaluate the effectiveness of a software development process and the software itself. For example, they can measure a software application’s performance and quality by calculating system speed, scalability, usability, defects, code coverage, and maintainability.

Metrics can provide invaluable data that allow software developers to identify issues early on and make necessary corrections before too much damage is done. They also help them stay on track with project estimates and deadlines.

Additionally, software metrics offer insight into potential conflicts between developers and stakeholders. These metrics are essential for ensuring that a program meets the customer or client’s expectations and can help teams make decisions that will best serve the interests of all parties involved.

Recommended reading: Managing Complex Digital Transformation Programs

Software Metric Categories & Metric Examples

There are numerous metrics that developers can focus on when creating and maintaining a software program. To simplify things, here are four ways developers can categorize metrics.

The first category of software metrics that software developers should consider is performance. Performance metrics measure the speed, reliability, and scalability of a system. Examples include response time, throughput, resource utilization, and memory usage. These metrics are essential for understanding how well a system handles requests.

The second category developers could use is quality. Quality metrics measure the correctness and completeness of a system and can include code coverage, defect density, and test case pass rate. These metrics are crucial for understanding how well a system performs in terms of its ability to produce correct results and meet customer requirements.

Usability is another important metric category to consider. Usability metrics measure the ease of use of a system. Usability metrics include user satisfaction scores, task completion time, and error rate. These metrics are important for understanding how well a system performs in terms of its ability to be used by customers.

Finally, the fourth category is maintainability. Maintainability metrics measure the ease of maintenance and modification of a system. Examples include code complexity, technical debt, and refactoring rate. These metrics are vital for understanding how well a system performs regarding its ability to be maintained and modified over time.

Which metrics software developers look at will depend on the goals, requirements, and constraints of the stakeholders and development team. Now that we’ve looked at different metric categories developers can consider, it’s time to look at a few specific metrics.

Other Software Metrics to Consider

  1. True Test Coverage measures the amount of tested code. It’s the percentage of code lines, branches, and states verified during unit tests. True test coverage shows which parts of an application are well-tested and which need further testing. By regularly measuring true test coverage, developers can improve the quality assurance process and ensure defects are detected before a software’s release.
  2. Team Velocity is a software development practice that measures how much work a team completes in an iteration. It’s conveyed in story points per iteration, and it serves as a way to measure how quickly the team is working on a project. Velocity helps keep teams motivated and focused on completing their goals within each iteration, incentivizing them to continue their efforts. It also provides valuable data for resource planning and estimations of future sprints.
  3. Escaped Defects are issues that emerge during the software development process and make it into the released version of the application, despite having been missed during testing. These problems can happen when the development team needs more strategies to thoroughly test all features and issues before releasing a version. Escaped defects cause severe problems down the line and often result in costly rework, customer dissatisfaction, and lost time.
  4. Release Burndown is a project management tool used to track the progress of long-term projects. The goal is to accurately predict and manage changes in scope and timeline to meet successful delivery dates. It provides visibility over project features, tasks, goals, and performance metrics in a graphical burndown chart form and a tabular spreadsheet format. In addition, release burndown can help identify bottlenecks or delays.
  5.  Lead Time is the period of time between the beginning of a project and its delivery. Lead times can vary greatly depending on the specific project but typically encompass several activities that must be completed before the software is ready.
  6. Customer Satisfaction measures customers’ happiness with a product or service. Customers are satisfied when the software’s performance has met or exceeded their expectations. Measuring customer satisfaction is important because it allows businesses to identify weak points in their service and address them quickly.
  7. The Open/Close Rate for software development is the number of tasks within a given period that are in process versus the number completed. It’s usually calculated as the percentage of total opened to closed tickets on a daily, monthly, or yearly basis. This metric helps organizations understand how quickly their development team can complete tasks and accommodate fluctuating demands from different stakeholders.
  8. The Defect Detection Percentage (DDP) is a metric used to measure the proportion of coding errors identified during software development and testing. It is an important metric used to evaluate the success rate of a project. A higher DDP indicates better quality assurance and reduces future maintenance costs.

Recommended reading: Continuous Inspection: How to Define, Measure and Continuously Improve Code Quality

The Goal Question Metric Approach

Basili’s Goal Question Metric (GQM) is a metric evaluation approach developers often use for its clear structure and ease of use. The GQM is a software quality analysis technique that defines and measures software development, maintenance, and improvement objectives.

It enables project teams to analyze their achievements and problems regarding productivity, schedule, cost, or quality. The GQM is broken up into a three-step analysis process: defining the goals, the questions, and the metrics. Here’s an explanation of how to utilize the GQM approach by its founder:

“A GQM model is a hierarchical structure… starting with a goal (specifying purpose of measurement, object to be measured, issue to be measured, and viewpoint from which the measure is taken). The goal is refined into several questions, such as the one in the example, that usually break down the issue into its major components. Each question is then refined into metrics, some of them objective such as the one in the example, some of them subjective…

The same metric can be used to answer different questions under the same goal. Several GQM models can also have questions and metrics in common, ensuring that, when the measure is actually taken, the different viewpoints are taken into account correctly (i.e., the metric might have different values when taken from different viewpoints).”

The GQM approach is an excellent choice for software metric selection and analysis because it focuses on the project’s goals and provides a way to measure progress. Additionally, it allows developers to track progress over time and make adjustments as needed.

Final Takeaways

When choosing software metrics, it’s important to consider your project’s specific needs and select metrics relevant to them.

Performance, quality, usability, and maintainability metrics should all be considered so you have a comprehensive understanding of how well your system is performing.

By selecting the right metrics for your software development project, your team can gain valuable insights into the progress of their development efforts and make informed decisions about how to improve them.

More helpful resources:

I have the feeling that sooner than later, we’re all going to learn what it’s like to have creative AIs like ChatGPT as part of our everyday lives. I can’t resist thinking about what that will be like.

 As usual, when I speculate about the future, I like to look back at the past to pick up some clues. I’m old enough to have spent some of my adult life pre-Web. Having ubiquitous connectivity to many information sources is common today, but when I was a teen and young adult, this was still the subject of science fiction. If we wanted to know something then, we had to get a book or go to a library and look it up.

 My wife likes to say she’s not technical, but it sometimes seems like she’s always asking me questions that I end up using technology to answer. 

As a recent example, she and I both enjoy watching “cozy” mystery shows together—those with very little violence or bloodshed — when we’re relaxing in the evening. Because we’re avid watchers, we’re constantly on the lookout for a series that’s new to us, even when it’s an old one. 

We recently started watching a 15+ year-old series that features the classic movie and television actor Dick van Dyke and his son. We both really liked it. At the end of the first installment, my wife asked me, “What other mystery series has Dick van Dyke been in? He must be very old — is he still alive?”

Recommended reading: Tips for Staying Relevant in the Age of Creative AIs Like ChatGPT

Before the Web, these questions would have been imponderables — not easily answered without a trip to the public library. In general, they would have been answered with a shrug and, “I don’t know.”

But in the internet age, I simply took my phone out of my pocket, went to Wikipedia, and instantly pulled up an article about actor and comedian Dick van Dyke. I found out that he is, in fact, still alive in 2023 — and 97 years old! He made the action series we’re now enjoying when he was 81 years old (amazing), and in the past he made another long-running mystery series, also with his son, that my wife and I are looking forward to watching next.

 This is a trivial, everyday example, but typical of our expectations today for instant access to information. 

In this case, the technology (phone, Web, crowd-authored encyclopedia, etc.) also enriched my life and my wife’s — at least a little bit — by providing us with interesting information and knowledge about an entertainment series I think we’ll both enjoy. Pre-internet, it would have been such a hassle to get this information that neither of us would have bothered.

Another question my wife asked before a long road trip was, “What is the weather like along the way?” I’ve since learned that there is, in fact, at least one app in the App Store that answers that question. But suppose there wasn’t. How would I answer her?

To do this reasonably well “by hand” on my phone, I would first determine the route to my destination. I’d then compute my drive-time to various intermediate points along it. Next, I’d look up the weather forecast for each location, at the time I was expected to be driving through it. I’d tabulate all this, and show her the answer. To be a stickler, I’d keep this up-to-date as we traveled along our route, accounting for the most current forecasts and projected arrival times.

Instead, my response was to shrug and say “I don’t know”. It was simply too much of a hassle to figure all this out. I could conceivably have written a short script that accessed the various information sources required and did the various computations for me, but that seemed like a hassle too, and definitely not worth the time it would take, at least in my mind. 

Suppose that we had access to all the weather information she requested, though. We could have perhaps planned a better route, to maneuver around a storm, for example. We could also have incorporated the weather into our projected drive times, and refined our route—and forecasts—that way. But again, more hassle than I thought it’d be worth for a single trip. We just drove.

In the future, though, with creative AIs, my wife or I will presumably be able to describe to the AI what it is that I want, and the AI will generate a one-off application to answer the question. At some point — maybe reasonably soon — the AI can probably answer my wife’s original question directly: “What is the weather like along our route?” In the short term, though, it may need a more detailed description like, “Write a script that determines a route from point A to point B and looks up the weather forecast at 10 evenly spaced intermediate points along that route based on the current expected time of arrival at that intermediate point and displays the answers on an annotated route map,” (or something even more detailed). 

I expect that, in general, AIs will evolve from needing a more detailed description as in my example to something higher-level (my wife’s original question, for example) over time, though that evolution could be very quick.

Recommended reading: Software, the Last Handmade Thing

Making something that’s currently a hassle easy to do may seem trivial, but it actually improves our lives. Things that are useful but a nuisance only tend to get done when they are necessary, or when they have the potential to bring a significant reward. But that means that many of life’s possibilities are left on the table. 

Many of us — perhaps all of us at times — have the tendency to believe that happiness comes from the big things in life: family, health, career success. And indeed, those things are important. 

But within that larger context, it is the small, everyday rewards in life that make it richer; little things like avoiding bad weather along your route, or finding a new mystery series to enjoy with your wife. These small things really add to life’s variety, enjoyment and safety. 

Among all the uncertainty about how creative AIs will impact our lives and work, I think we can also look forward to its increasing the things we can know and do. 

Whether that’s comparable in scope to what we’ve already seen from the Web remains to be seen, though I suspect it will be just as game-changing. I’m also excited that it may very well help me answer the next generation of questions that my wife comes up with!

Keep reading:

Today, the development of mobile applications can help solve almost any challenge. From banking and insurance to education, healthcare, retail, and beyond, mobile apps are everywhere, making life easier in immeasurable ways.

Companies use mobile-first strategies to get more coverage for their applications. However, the success or failure of the solution largely depends on the mobile application, which is why companies prioritize choosing the best platform for their software development. From the early days of mobile application development, developers have preferred native application development. While it is a great choice in many cases, there are other options for mobile application development with distinct advantages. 

With so many choices, businesses must concentrate on their needs and goals for the application. In this article, you can explore the numerous considerations that help companies choose between cross-platform application development environments.

Cross-Platform Development

Almost all smartphone applications are targeted for   Android or iOS or both development platforms. Unless the mobile applications have specific requirements favoring one platform companies concentrate on these operating systems because releasing applications on both platforms can significantly increase the user base. 

Developers use cross-platform solutions to solve specific problems, such as an identical application released on Android and iOS with the same features. In this situation, cross-platform development can help with code reusability and save on developmental and maintenance costs. In summary, cross-platform focus on writing reusable shared code and generating platform-specific executables.

Figure 1. Generic Cross Platform Application Solution

Ideally, in cross-platform application development, developers can share code. The platform provides widgets, components, and third-party libraries to write shared code. These environments provide tools for development tasks, a compiler, and a debugger. If there is a need to use native platform-specific API, there is a provision to access and write native code alongside shared code.

Options for Cross-Platform Development

There are various options available for cross-platform development. However, the following are the most popular options among the developer community.

Considerations for Choosing a Mobile App Development Platform

Each cross-platform solution – such as Xamarin, ReactNative, and Flutter – has its pros and cons. Developers can choose specific development platforms over others due to the advantages in the considerations below.

Major Considerations

The following are the considerations that have significant implications on the choice of the platform:

Platform Future

In general, companies develop applications with a long-term vision. In rare cases, companies develop applications with a specific or short-term goal, such as a registration application for specific events. When developing applications for extended use, companies should find a platform with stable backing with investments from industry shareholders. 

Recommended reading: AI’s Impact on Software Development: Where We Are & What Comes Next

Community Support and Popularity

Platform creators and owners can provide quality infrastructure and an end-to-end environment for application development. But even with the best plan and tools, developers can still face challenges. When issues arise, one option is to research and analyze the problem. While this can become time-consuming, hence online reports and forums can be helpful.

These community forums can provide tried and tested libraries, information on potential architectural patterns, as well new ways to create efficient applications. The more popular the platform, the more online resources, and community support will be available. 

Pricing

While selecting a development platform, every enterprise or independent developer looks at licensing costs, the development environment, and development plugins. Therefore, it’s essential to periodically assess these external factors as they can change over time.

Once a business officially launches an application, there’s no turning back, even if the licensing cost increases. At this point, developers will usually stay with the platform to easily manage it and conduct maintenance.

Learning Curve

Many organizations want to use their existing resource pool and avoid a steep learning curve when developing an app. This is why companies need to think of the time it takes to truly understand each platform and how it’ll impact its development—for example, using the.Net and C# resource pool for Xamarin and the JavaScript (React) resource pool for ReactNative.

Component Library 

The inbuilt UI support and various business components are crucial considerations when selecting a cross-platform development environment. Though external third-party components may be available, inbuilt libraries are always more reliable.

Users want an application’s UI to align with native UI, which is why UI components play an important role. Businesses need to consider the platform’s UI components and their native-like appearance. Developers must also consider options to configure the appearance of the UI components.

Performance

Performance is a crucial parameter for all applications. In general, it’s assumed that cross-platform applications may have low performance rates compared to native applications. But companies should still consider the available cross-platform solutions. In addition, when analyzing performance, developers should focus on using heavy graphics, as well as complex and animated UI. Another important consideration is the application’s response to UI events after extended idle times.

Other Important Considerations

The following considerations have minor differences across cross-platform development environments and will have minor implications when choosing a platform.

Reusability Across Applications

Mobile applications and web frontend applications tend to have similar features. In this scenario, companies should consider a cross-platform development environment where the possibility of reusing or sharing code between mobile or web applications is possible.

Recommended reading: A reusable accelerator for mobile application development 

Development and Debugging Tools

Development and debugging tools are crucial for smooth day-to-day application development. In general, a cross-platform environment supports quality development and debugging tools. But it’s still valuable to ensure they have the following cross-platform environment solutions:

  • A full-fledged IDE or Studio 
  • Inbuilt debugging support
  • Hot reloading of application
  • Profiling tools 

Automated Testing 

Almost every platform supports automated testing, including UI automation and unit testing. For UI automation, developers should assess the ease of extraction or access to UI components buried deep inside in UI hierarchy. In addition, they should consider the facility to addand metadata, such as the content description and to the custom or framework UI components. Regarding unit testing, developers should look at the complexity level of adding a dependency to the code and verify the injected elements in unit tests.

Accessing native API

Developers may need to access the native API even though cross-platforms do provide access to native features like camera, GPS, and Bluetooth. To access the native API, developers may need to create a bridge or channel to access these features. Therefore, companies need to consider the time it takes to access native API as well as the performance and stability of the native API.

Cross-Platform Considerations: A Quick Checklist (as of Dec-2022)

The following tables are a checklist for the primary considerations mentioned above:

Considerations Xamarin ReactNative Flutter
Future .NET MAUI from Microsoft is future (Xamarin support will end on 1st May 2023) Mostly community driven Backed by Google as next gen development platform
Popularity and Community Support Behind in popularity and Community Support Large in number communities contributors Popularity is catching up with ReactNative exponentially
Pricing Free, open source and distributed under MIT License. Annual fee for Visual Studio Enterprise. Free, open source and distributed under MIT License Free, open source and distributed under new BSD License
Learning Curve Learning curve for C# and .Net React Web developer can easily move to ReactNative Need to learn dart language
Component library Supports components which are compiled into platform-specific UI components Built-in components, many of them need to be styled.  Built-in widgets which doesn’t require styling
Performance  Performance is near to Native but it drops during rendering of heavy graphics Performance lags behind the native platforms at times Dart code is compiled to a C-library hence gives performance close to the native code

Getting Started in Mobile App Development

The above considerations can act as a guide to help businesses analyze the cross-platform development environment for mobile application development. While each company has its own needs and objectives, this list can help prioritize the various features as well as the pros and cons of cross-platform development.

We help companies reduce the learning curve, easily apply mobile app development best practices, and get to market faster with GlobalLogic’s Mobile App Accelerator. This reusable accelerator is based on the most common architectures and proven guidelines for core modules including onboarding, custom error handling, and more. 

Want to learn more about how GlobalLogic helps companies save up to 25 person-months in mobile application development? Get in touch with our team and let’s see how we can help.

More useful resources:

Edge Computing – Everything you need to know [Whitepaper]

  • URL copied!