dwyl / product-roadmap

:globe_with_meridians: Because why wouldn't you make your company's product roadmap Public on GitHub?
46 stars 6 forks source link

Sorry, I Don't Have All The Answers ... But here are a few. #39

Open nelsonic opened 1 year ago

nelsonic commented 1 year ago

Having an Idea of where you want to go !== Precise GPS Coordinates 💡 !== 🗺️

Too many people who have zero exposure to entrepreneurship / startups have little understanding of the uncertainty involved in building a technology product from scratch. Most (95%) of startups fail for a variety of reasons. The whole point of "The Lean Startup" is to build the minimal product that you can start collecting feedback from/with not to build everything up-front and have nobody use it. We can avoid failure by building fast and asking lots of questions when we are stuck/unsure.

If I knew exactly where we were going it would be a "Waterfall" project and it could be outsourced to the lowest cost provider. that is not the case. Waterfall projects fail 98% of the time. It's almost comical how ineffective they are. People who think the can gather all the requirements up-front either have zero experience or are being paid by the hour regardless of outcome. (cough Accenture ...)

Anyone Who Thinks/Says they Have a Fully Formed Plan/Roadmap is Deluded/Lying/Both!

Some entrepreneurs are great sales people who are able to paint a good picture of where they are going, even though they don't have all the answers up front. If someone had all the answers they wouldn't waste their time building anything ... they would just borrow €100k and make 10 "doubling bets" on the stock/crypto market and turn €100k into €100 Million in a couple of years.

Plenty of people have tried. A handful have succeeded. The Survivorship bias is massive in investing. Most people lose money when a handful make it big. And the problem with a few winner-takes-all success stories is the countless working class people who lost their life savings but we don't hear about. It's not pretty. Anyway, digression.

What I do Know

I know that I want to build an app that helps people keep track of what they need to get done. Yes, this sounds like a "Glorified Todo List". And superficially it is. In the same way that Google is superficially just a query box that does a search on a database.

The items that "need to get done" can be anything from paying taxes, to reading a book, exercising or meal planning. Each one of theses sub-categories will have it's own "mini-app" that has dedicated UI/UX to achieving a very specific goal.

But that already exists ...

Yes, EVERYTHING Already exists. That's exactly what the incumbents want you to think!! Don't start a Restaurant because McDonalds already exists. Don't build your own house because houses already exist. Don't make your own clothes because there are already thousands of clothing brands. Don't create anything new because it's already been done.

This is the mindset of people who have zero imagination or somehow think the world is already "fine". The people who work in the public sector who want to do the bare minimum zero-thinking administrative work to get paid. Jobs that will all be automated by software/AI in our lifetimes.

1% of people take risks

People who are brave enough to step way out of their comfort zone, risk their own cash to build something new/different while creating employment and solving a real human need ... These are the 1% of society. Not talking about greedy bankers who steal money from the poor through "financial engineering" 🤮 😡 Rather the people who come up with something New that improves lives. Inventors, innovators, creators ...

If you cannot see how a "Todo list" would improve the lives of millions of people. You haven't worked in enough inefficient / painfully slow companies/organisations. i.e. not enough life experience.

I've worked at or with over 100 companies in 20 years. I have complete certainty that none of them came even close to maximising the time of their people. Not even close. Even with all the existing tools. Not even close!!

Each Mini-App Will Be the "MVP" UI/UX

Try not to think in terms of the finished App you already have on your phone. Those have all been polished by tens, hundreds and sometimes thousands of designers, engineers, QAs etc.

Why PETAL Stack and Not React?

I've written about "Why Elixir extensively: https://github.com/dwyl/learn-elixir/issues/102 It will take you an hour to read every comment in that thread so here's the short version: Elixir is a beginner-friendly language that compiles to run on BEAM the Erlang VM. The Erlang VM allows for low-latency fault tolerant high throughput communcations. We can easily scale to millions of concurrent people using our App the way WhatsApp did with Erlang. We only need a few thousand people to pay us to use our App and we will all make a very good/sustainable living.

The DevEx and maintainability of React is horrible compared to Elixir. If I was to chose a JS framework at gun point it would be https://kit.svelte.dev Again, I've written extensively and shown evidence https://github.com/dwyl/learn-react/issues/23 that Facebook is the most evil company in modern times. They are systematically wasting billions of hours of human life each day. That adds up to more human life than any war currently being fought. We might not think about the pain/depression/human-traficking/cyber-bullying-suicide caused by Facebook's products because it's not convenient, but it's definitely there.

Oh But React isn't Facebook ...

Yes, React is just a tool. But it's made by and for Facebook and open sourced as a recruitment tool. Using it feeds the Facebook machine directly. I'm not the only one who knows that Facebook is fundamentally evil. Read: https://withoutbullshit.com/blog/why-mark-zuckerberg-doesnt-realize-facebook-is-evil I'm just in the minority ...

Most people still think it's "OK" to burn non renewable fossil fuels for heat, transport. It's never been "OK". There were just a few successful sales people who convinced society that it was "OK" to burn vast amounts of oil because it would make them insanely rich ... https://en.wikipedia.org/wiki/John_D._Rockefeller React is the Oil of the tech world. Ubiquitous. Fundamentally inferior to other existing technology.

Not going to spend any more time on the "React vs. XYZ" debate. If you want to work for Zuckerberg. Use it. 👍 If you want to build something that doesn't waste people's lives and make them depressed. Don't use React. Simple.

The tide is turning against fossil fuels. 20.0% of new cars in PT are now electric. https://en.wikipedia.org/wiki/Electric_car_use_by_country

It will take a few more years before we reach parity like in Norway. But it will happen as costs decrease and charging infrastructure improves. And then we will all look back and think: why were we burning non-renewable fossil fuels?

And it will be the same with React. Gradually people will see there are objectively better options and React will fade into oblivion. But not without a fight. The same fight that BP, Shell and Exxon are putting up with their lobbying efforts ... 🙄 Driving a car is indirectly funding Putin's Resource war: https://energyandcleanair.org/financing-putins-war/ Using React is directly contributing to Human Trafficking/Slavery: https://www.wsj.com/articles/facebook-drug-cartels-human-traffickers-response-is-weak-documents-11631812953

Even if you don't make any code contributions back into their repos, your usage is a social proof that perpetuates the Facebook machine.

Any Tech will Work

Almost any technology stack, programming language, framework etc. will work. It's like football clubs or automobile brands. They are all functionally equivalent. There will always be playground debates about which tech is better. Spoiler: Full-stack Rust wins on performance, the only metric the people using your App care about.

But for our purposes we want to have a language that a complete beginner can learn in 1 hour and add a feature to our App in the same time it would take to watch a movie. Rust, sadly is not that. It's richness is complexity. The learning curve for a beginner is on the order of weeks not hours. Yes, the learning curve pays off! And we will use when we need it e.g. for a specific high-performance module.

Elixir has most of the performance of Rust from a web app latency perspective. But is an order of magnitude more beginner-friendly to read & write.

Alpine.js is the "Poor mans" JS Framework ... 🤷‍♂️

Superficially, yes. It's more "basic" than other more bloated "feature rich" libraries/frameworks. But Alpine.js has what we need for building MVP. i.e. we want to keep our UI/UX simple. For that we are using LiveView which is server-side-rendered so much faster than a React "bundle". And Alpine.js enhances the micro interactions. Not complex/unmaintainable single-page-apps. We don't want thousands of libraries/components. We want a handful (20 at most) and they're all already there in Alpine.js.

This is what we don't want:

image

This is what we do want:

image

Complexity is a cost not a benefit. Having more "modules" available is a massive downside when it comes to selection time and maintenance. I don't care that there are 100 ways of doing a date picker in React. I only need 1 good one. It doesn't even have to be that good. it just needs to work consistently. If I get that I'm delighted! Everything else is noise.

Outline

This roadmap is currently more of an "outline". If we are able to build something that is useful to us. Then we are on the right track. If we can build a feedback mechanism to collect insights from other non-technical people, then we will have a feedback loop we can use to iterate and build what other people want/need. If we can build something that enough people (a few thousand) love using enough to pay for, then we all get paid. 🤞 Until then everyone except me (Nelson) gets paid. 👌

nelsonic commented 1 year ago

https://medium.com/mind-cafe/cheat-codes-for-life-i-know-at-36-that-i-wish-i-knew-at-26-294f6e865db5 image