dwyl / adoro

❤️ The little publishing tool you'll love using. [work-in-progress]
http://www.dwyl.io/
32 stars 8 forks source link

Prismic? #107

Open nelsonic opened 5 years ago

nelsonic commented 5 years ago

https://prismic.io is a CMS-as-a-Service provider that has an attractive front-end to a RESTful API: image

Keep scrolling ... image

"Modern" ...

image

Modern Web Design: https://medium.com/commitlog/how-to-design-for-the-modern-web-52eaa926bae2 😧

We take care of ...

image

Of course you do! that's the whole point of paying for a Service! Why are you stating the obvious as if it were some sort of "unique selling point"?!

Fake News:

image

Since when would anyone at Google use this instead of one of their own products?! Hello! They Bought FIREBASE which has many more powerful/useful features than "Prismic"! e.g: https://firebase.google.com/products/realtime-database/ see: https://flamelink.io

Is ebay, New Relic or deliveroo really using Prismic for their core product API? Seriously? How gullible do these people think we are? 😞

image

"All rights reserved" ... 🙄

image

Features

Scroll back up to the Top of the page so that you can see the Main Menu that disappeared when you scroll ... Clicking on the "features" link in the main menu shows a "pop over" with a list of features: image Modals are a UX anti-pattern which should immediately tell you how the minds of the people building Prismic operate ... style over UX. Trends over accessibility. 😕

The list of features is good:

Custom Type builder

https://prismic.io/feature/custom-type-builder image

Drag 'n drop fields into the editor

image

Define responsive image views & resolutions

image

Image re-sizing for different device sizes should be done by default. Viewport dimensions are a well known quantity.

Build relationships between custom types

image

So a Relational Database ...? Who would have thought to do that!? 🙄

Pricing?

https://prismic.io/pricing

Basic

image

Professional

prisimic-profesional

In the case of the CMS-based Website/App we are building (for a Client), we would need (way) more than 25 users, so would be forced to pay for the "Unlimited" tier: $350/month The key difference between Unlimited and Platinum is the "Priority Support". i.e. for an extra $225/month we will answer your emails slightly faster. 🙄

$350/month seems more "reasonable" than Contentful's $879/month #105 💸 but it's still a ($350 x 12 months x 3 years =) $12,600 commitment we make on behalf of any client. Which can be difficult to justify if all we are using from the CMS is the REST API ... We can achieve the same (if not better) result using Phoenix and a couple of days of work. Baring in mind that there is inevitably work involved to setup an API (both learning and documenting how it is setup) I estimate that using a 3rd party CMS-as-a-Service (commonly referred to as a "Backend-as-a-Service" or "BaaS") will require a similar amount of work as writing an Ecto Schema from scratch.

Open Source? GitHub?

The fact that they have "all rights reserved" on their website should tell you all you need to know about their approach to Open Source ... But in case you missed it, their GitHub https://github.com/prismicio is a collection of "wrappers" in different languages to make interacting with their API easier: image image

This is how closed source SaaS companies pretend to be Open. Nothing about their product is open, just the means of getting data in/out of their system so they can charge you Rent.

Aside: Complex/Advanced vs. Simple Tools + Practice

A fact that people often forget when selecting a particular tool or technology is that one tool in the hands of a competent/experienced person can be significantly more effective than a (superficially) "more advanced" tool in the hands of a beginner.

Take knife skills as an example: japanese-knife-skills-cucumber

The experienced chef can prepare fresh gourmet food significantly faster than someone who has not spent any time in a kitchen and in general the Professionals tend to use much simpler tools. Amateurs need fancy gadgets to make cooking "easy", pros can get the same (or better) result with a deceptively simple (sharp) knife.

mandoline-cucumber-slicing

People only "get good" at using a particular tool because of Deliberate Practice: cucumber-cutting-practice

Top Tip to Aspiring Developers: Pick Open Source Tools to become a Master in. OR pick the already established Closed Source tools if you want/need to "follow the money". I did this briefly with Saleforce.com when I needed cash to buy a house ... #NecessaryEvil Bottom line: bet on "fundamental" or "core" skills, not on a particular closed-source product. You will learn more and thus be a more valuable member of any team.

In the case of Phoenix the "core" of @dwyl's stack https://github.com/dwyl/technology-stack you get all the agility/speed of development that made Ruby-on-Rails insanely popular and all the technical benefits of a fault-tolerant VM that gives you full control over your stack something no closed source BaaS can ever provide.

Yes, there are obvious "cons" to using Phoenix instead of a CMS-as-a-Service like Prismic or Contentful, namely there is no UI for non-technical people to click or drag-and-drop to change things. Depending on your view/experience of non-technical people making changes to core business systems, this could be seen as an advantage because it means that your mission-critical systems are under tight change/version control and cannot be "broken" by someone late at night making changes in a production system!

Conclusion: if you are a solo developer needing an API, use Firebase as your "BaaS". I cannot think of a usecase where Prismic would be a better choice other than if you want/need the drag-and-drop type configuration to allow non-technical people to "build" the API. Baring in mind that you would still need a Developer to build the Frontend (i.e. the part that users actually interact with) taking a "shortcut" by using a CMS-as-a-Service is a short-lived "advantage" that is more of a handicap almost immediately in the lifecycle of your product/project.