How thinking like Frankenstein will help your MVP

What state are you at with your MVP? Because the earlier you start thinking more like a mad scientist and less like a mega-corp product manager the better your MVP’s chances of success are.

At the napkin sketch stage? Excellent. Wireframing? That’s great. Clickable prototype? Still got time. Coding? You might want to hit pause while you finish this article.

V is for viability

Viable in Minimal Viable Product does not mean that your product works. You’re not going to launch a product that doesn’t work. Viable means it fulfils the business goals you set for it. It is helping to answer the questions about your customers and your market that you created it to test.

The next iteration is also going to be an MVP. So is every iteration that follows as you home in on market fit and profitability.

How fast can you iterate? And how many iterations can you afford? Enough to find that market fit?

You don’t know. No-one ever does. The best you can do is iterate as fast as you can and minimise the cost of each iteration.

Which brings us back to Frankenstein.

Focus on creating, not re-creating

Frankenstein was focused on creating life, not hands or feet. 

You’re creating a product. A new product, never before seen. You don’t want to throw away time and effort re-creating the basic building blocks products are expected to have. 

You want to spend all the resources you can on your unique IP, the features that give life to your product. Everything else is product hygiene.

IP vs product hygiene

You want to minimise your spend on product hygiene. Product hygiene

means your product meets user expectations. It has the features they expect. Those features work as they expect. If they need to register, they can register via an email, Google, Facebook, etc. When they go to make a payment, their preferred option is available and it happens quickly and smoothly.

It is a form of visual and functional competency. Professionalism. You can also think of it as table stakes for being competitive in the market. 

A big part of product hygiene is convention. Apps have been around long enough that everyone knows how they work and how they should work. 

When you prototype your MVP you want to split out what parts of it are product hygiene and what parts are secret sauce. 

The secret sauce is where you want to spend your effort and your money. This is your differentiating IP. 

Product hygiene – you want these parts implemented as quickly and cheaply as possible.

Build or buy?

This is where the Frankenstein approach comes in. You won’t be using body parts. You will construct your competition-stomping monster out of SAAS integrations, open source components, and third party libraries. 

Payments is the number one example of adding product hygiene using an SAAS. You could throw money and months at building your own payment system or simply integrate a service like Stripe.

At SoftwareSeni we draw the line between buy and build every day. Every day more features fall on the buy side.

The buy side includes free and open source software (FOSS). It has ‘free’ in its name, but integrating it and maintaining it still costs money. 

Some of the common services we integrate so you don’t overspend on features that provide product hygiene but don’t contribute to your competitive advantage are:

Your moat, what makes you stand out in the market, will need to be built.

Building your moat

In the marketplace moats are built out of code. It can’t be avoided. Just ask Uber. Eleven years after launch, they still haven’t turned a profit, there are numerous competitors, and every local taxi company has a ride hailing app.

That’s a simplistic take, but it has a nugget of truth. If your entire feature set can be built from integrations and libraries you want to revisit your strategy and your idea.

Your moat will be built upon a framework. It might be WordPress, React, Ruby or Laravel. Your choice will depend on your own experience and your inhouse developers’ experience (if you have any). At SoftwareSeni we work across all the major start-up frameworks.

It’s within the framework that your secret sauce will be coded. This will be your UX and business rules. This is where you want to direct as many resources as you can. 

Integrating services and FOSS doesn’t come free, but they represent hundreds of thousands of lines of code you don’t have to pay for or wait to be written. They also represent code you don’t have to maintain. In general, you can estimate that the ongoing maintenance and support of any code written for you will cost about 20% of the development cost per year. It’s just like maintaining machinery in a factory. Pieces start to rust and eventually stop working. 

Bolting together your first MVP, and the next

Hopefully this article has opened your eyes to a different approach to building your MVP. Thinking like Frankenstein, building with off-the-shelf parts whenever you can, will accelerate your path towards your MVP. It will shorten your iteration times and increase the number of iterations you can squeeze out of your budget.

Doing it well requires a wide knowledge of the library and services available and how they fit together. This is part of SoftwareSeni’s expertise. Collaborating with you to breakdown your product idea into the optimum combination buy and build is a key part of our lean strategy.

If you’re at the sketch stage or ready to code, take a moment to talk to us. We’ll help you get more V into your MVP.

Everything you need to know about React Native apps – the business side

Forget the tech-speak. This React Native overview is for the business savvy, not the tech savvy. You’re here because you need an app if you want to stay competitive. And the app world is unknown territory for you. It’s a different landscape to the web. Different technology. Different, and fewer, service providers.

We know how it is. Choosing to invest in unfamiliar technology is one of those decisions that has a bet-the-farm feel to it. Right now you’re weighing options and worried that you’re about to throw away money, years, and your foothold in the market.

This article will help with your decision making. It’s going to start with a bit of history, so you have sense for the technological landscape. Then it’s going to give an easy-to-understand overview of the concepts behind the technology. Finally, it will cover the advantages of React Native, which are many, and the caveats, which are few, but for some businesses are deal breakers.

The React Native backstory

Credit: National Center for Supercomputing Applications/University of Illinois Board of Trustees.

30 years ago(!), in 1990, the first web browser was built. Not many people outside of hardcore geeks saw it. In 1993 the first popular browser was released: NCSA Mosaic, soon to be dethroned by Netscape Navigator. In 1995 Netscape introduced JavaScript to the world.

In the 25 years since, software engineers have been adding capabilities to JavaScript, mastering its potential, and trying to develop strategies to deliver an interactive, application-like user experience from a platform designed to display documents. React, which React Native is built upon, is the latest and currently greatest, manifestation of this.

React came out of Facebook and has been in use since 2011 and open source since 2013. React Native (an extension to React) has been used by Facebook since 2013 and was open sourced in 2015. At almost a decade of use, these are mature technologies powering big name sites and apps and supported by a rich ecosystem of add-ons and enthusiasts.

React was Facebook’s answer to the question – how do you deliver an immersive and responsive user experience inside of a browser?

The same question web developers have been asking each other since 1995. Each time the answer was a little better, giving incremental gains. This time, with React, the answer was revolutionary.

The technology behind React and React Native

At the simplest level, so simple it sounds unimportant, React is very good at telling the browser what exactly on the page needs to be redrawn. The less that needs to be redrawn, the faster the user interface – buttons clicking, timelines scrolling – can respond.

With React, your user can be typing into your search bar at the top of the page, reading the auto-complete suggestions pulled live from the server, while at the same time, at the bottom of the page, a like count updates on a photo. And nothing, except those two elements, a very small part of the overall page, gets redrawn.

It doesn’t sound exciting. But for developers it is. Because it comes along with a method of building an interactive website where React does all the tedious bookkeeping that keeps your site fast, while the developer does all the fun bits related to how it works and how it is structured.

The leap from sites to apps

With React handling the bookkeeping, developers could work at a faster pace and a higher level. That search bar at the top of your page? That could now be a component — a standalone piece of user interface that could be placed anywhere on the page, used anywhere on a site. It could even be open sourced and used anywhere on the internet.

The same with the three step wizard you use to sign up new users. Or a mega menu. Or a video player. Or a chat box.

It occurred to the React team at Facebook that what the code was doing in the browser — creating interface components out of HTML elements like <button> and <textarea> — could be done inside a mobile application. But instead of creating interface components out of HTML elements, it could simply use the native interface components — scrollbars, buttons, sliders, etc.

So React Native was born. At its heart is a virtual machine that runs JavaScript — all the code that covers your business logic, and it translates the calls to display pictures, text and interactive elements into displaying native user interface components.

React Native can be used to run the same code on Android, Android TV, iOS, macOS, tvOS, Web, Windows and the Universal Windows Platform (covering Windows 10, Windows Mobile and Xbox).

Depending on the product, anywhere from 60% to 90% of the code can be re-used from a React-based web app in a Reactive Native mobile app. This is one of the many reasons that at SoftwareSeni we advise clients to test their idea and prove their business case using a React web app – it’s an investment in reusable code in an environment where iteration can happen quickly. Much faster than with a mobile app, where the platform store review process can slow things down.

The React Native advantage

For someone wanting an app for their business, React Native has six major advantages going for it.

Maturity – computer years are even shorter than dog years. 7 years since launch and 5 years open source make React Native an established technology.

Popularity – developers love React and React Native, which means finding developers to build your app is not a problem. Finding good, effective developers — well, that problem never goes away.

Ecosystem – combine maturity with popularity and you get thousands and thousands of open source libraries that implement functions you want and need, dedicated tools and services, as well as experienced partners like SoftwareSeni.

Speed – building a React Native app is faster than developing an app in native code. Multiply that advantage by the number of platforms you’re launching on. And if you’ve started your journey with a React-based web app to prove your business case, the move to a mobile app is even faster. You’ve already done the hard work.

Cost – the speed advantage above should have already clued you in that React Native apps are cheaper than native apps. The availability of developers contributes to that, as does the deep ecosystem of re-usable code. Depending on the app and the team, they can be 2 to 10 times cheaper than native apps across multiple platforms.

Performance – because React Native uses the native components supplied by the device operating system, React Native apps run as silky smooth as a native app. They also get full access to all of the phone’s features — camera, microphone, location, etc.

React Native caveats

Nothing’s perfect. Great as React Native is, it does have a few drawbacks. The biggest one is that it is limited to certain kinds of apps. You wouldn’t make a game in React Native. If your app needs to do large amounts of drawing or manipulating things on the screen, you need to look at building a native app.

If you have an interface feature that React Native does not support you will have to get a custom native component built on each platform you plan to support. It is cheaper than building an entire native app, but it adds complexity and thus cost to the project. Involving SoftwareSeni during the design process can ensure you don’t accidentally end up in this situation.

Finally, a React Native app is only half of the customer experience equation. You cannot forget the backend. No matter what technology you use in your app the backend still needs to be built and that development time and cost is not affected by the app framework.

Take-aways

The take-away from all this is that React Native is a great choice for building an app, if not the best. The apps produced using the technology can stand shoulder-to-shoulder on your customers’ homescreens with the likes of other React Native apps from Instagram, Facebook and Netflix.

Throw in the free cross platform features, allowing you to target the top end consumers on iPhones and the mass market on Android devices, and it becomes a no-brainer.