Beach Platform is a micro-services architecture concept built with the ruby / rails framework.
The Beach Platform is designed to operate with the appropriate levels of abstraction for often diverse and complex services that are unified under a core application, for consumption via a common interface - a suite of REST APIs.
The platform affords the Instance owner Freedom of Choice, in may ways.
Freedom of Business Model
The Platform is designed to be API first, whereby consumption of the data services is done through control mechanisms, such as developer accounts, application sandboxes and security access controls.
The services can be consumed according to the Instance owner's business plan, with both global platform use and individual service use wrapped with plans, subscriptions and pricing.
Freedom of Technology
Whilst the core Engine and the parent application are designed to be Ruby on Rails applications, the design allows enables large blocks of code, individual micro-services, to be built using whatever programming language and stack makes most sense. To expose this service to the public, it merely needs to be wrapped / proxied through the platform to make the most of the platform features.
Freedom of Resources
With the appropriate levels of abstraction, you have the freedom to develop in a much more flexible way. Without the monolithic structure, you can assign teams to work on specific services, or even purely on the client applications through a public interface, without giving the keys to the entire kingdom. This will transform your business and workflow to make the most of a global talent pool, instead of feeling the burden to always keep every aspect of your solution's development in-house, where it can be strictly controlled. Great developer talent is a scarce and expensive resource, to be able to freely build teams using every hiring tool available is critical for business success in this day and age.
Freedom to Focus
Why spend time building another authentication process or identity system? Why spend time rethinking the obvious data models and resources, like Users, Profiles, Teams, Organisations, Interactions, Projects? Why waste time implementing developer support features, like webhooks, websockets notifications, system emails? We know you need them and features to customise them, so it's already there for you. This gives you the freedom to focus your all important technical and creative talent on the real problem - how to solve the problem for your end users and build engaging, personalised experiences for rapidly evolving new technology platforms.
This is the goal of the Beach Platform architecture.
At the very heart of the Beach Platform concept is our open-source Rails Engine library that contains all of the general features and functionalities you need to build the next generation of Mobile Apps, Web Software, IoT Devices, Chatbots, Voice Interfaces, Enterprise SaaS Products and more...
The Engine has been designed based on our years of experience building products for technology startups around the world and the repeated pattern of needs that we've seen each time we build a new product and ultimately, a technology enabled business.
So we decided to make this a reusable, flexible, accessible code library that we could share with the world, so you can focus on making your next brilliant idea a reality.
The Beach Platform concept goes back 10 years, as we've seen an evolution of web software development practises, tools, frameworks, APIs and web services evolve - just as rapidly as the demands end users and customers place on product designers and builders to create increasingly personalised experiences for the ever-growing number of interfaces, touch points, devices and platforms that people engage with everyday - and all of those to come in the exciting future ahead.
It came to a head when, working with one of my previous startups building Mobile Health apps, that we found the difficulty of designing and building consumer wellness apps - defining and proving the ultimate UX, whilst carrying the overhead of building the full stack of backend services, integrations, security concerns - was expensive. We often could only make our bootstrapped funding last until the first or second iterations of our products and that was not enough.
We looked around the industry and saw lots of other app developers doing the same thing. It's been a real struggle all round and no-one has really cracked the solution - I think, largely because of this problem.
So we asked ourselves...
"What if these guys had the backend stack that we've built, from day one. Could they get to iteration 10. What about 20 or 50 with the same financial resources?"
After some research and investigation, experimentation and trials - we found that most likely, the answer was yes.
Meanwhile, PaaS offerings were starting to gain traction, with the likes of Parse.com (acquired by Facebook), Firebase (acquired by Google) taking off for much the same reason as above.
But, while these services (amazing as they are) scratched the itch for mobile developers to quickly build out early stage apps, we never really felt it was an architectural opportunity that we could build a business off of. There was too much reliance on the 3rd party for critical business functionality, intellectual property and trade secrets, to have it sat on Google or Facebooks servers.
Instead, we wondered if there was a way to build on top of the layer of individual single-purpose libraries, in Ruby, these are typically Gems, to a more cohesive suite of tools that can be easily deployed, extended and developed for different businesses, in completely diverse industries, all underpinned by a vision for what the future of User-centred experiences requires from such a toolkit.
User Centered Experiences
We are at a time when the User, People, Customers have never been more demanding and intolerant of poorly designed products and experiences. People are tired of generalist services that don't relate or solve their true needs. People want their own personal, individual experience for them, that meets and exceeds their needs. That delights.
Figuring out what people need is ridiculously hard. It's almost impossible. It certainly cannot be done from a business plan or powerpoint deck. It requires the real hard work of iterative, experimental product development cycles and teams of people with diverse skills to not just be prepared to try and fail, but to understand the subtleties and nuances of receiving feedback, analysing data and deriving insightful perspectives that can inform the next important iteration in a continuously deployed release cycle.
There are now more platforms, screens, devices, OS's than ever before. Technology is fragmented, dispersed. People want a ubiquitous service despite this, wherever they are, 24/7, whenever they need it. Heck, they may rely on it - life or death.
People expect technology to be simple and intuitive. Beautiful design in all areas, from brand to graphical interfaces, to the way conversational flows are constructed to the point where people feel like they are not even interacting with a machine. This has brought about the rise of the Chatbots.
Simple messenger interfaces dominate User attention. Facebook Messenger, WhatsApp, Slack, some of the fastest growing and most active products of all time. All of these platforms have been actively promoting the evolution of automated machine users that can hold conversations with people in a way that seems natural, even human-like.
Machine Learning technology has evolved so rapidly to make Natural Language Processing tools highly accessible and the cloud services have made the computing power required to run complex machine learning algorithms more affordable.
But product designers need to figure out the way to pull all of this stuff together to achieve a unique and compelling experience for their audience.
Chatbots are just the start. From Virtual Reality and Augmented Reality experiences, Ambient technologies embedded into all aspects of people's lives, not just through the current trend of connected objects (IoT), but nano-technologies and invisible tech. The challenges that this poses to interface designers and product creators is only going to grow, skills will need to evolve to be more technically oriented.
Here at Beach, we've already built custom Engines for our clients in the following industries...
- Intellectual Property & Patents
- Health & Wellbeing
- Connect IoT Hardware Devices
- Web Hosting Software
And we're really keen to hear how you could use the Beach Platform and custom engines to bring your next-generation solution to life, I know it's early days, but do feel free to leave your questions, comments and ideas in the topic thread below.
In further Topics I'll show you how you can get started with the Beach Platform...