-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Amplify should be built for Amazon first, then developers! #7174
Comments
Hi @nubpro - thank you for spending the time to provide such detailed feedback to your experience. I understand the frustration that you must've been facing. Do you have some time to jump on a call with me and the broader team. We'd love to walk through some of our improvement ideas and see if we can have a clearer messaging on some of the issues. You can either DM me on Twitter: @renebrandel or email me directly: "renbran at amazon dot com". |
Thanks for the reply. I think this applies to all other libraries not just specifically to DataStore. Unfortunately, I can only speak for DataStore as I mainly use it. |
Hi @nubpro - As a developer who uses Amplify day in and day out. I feel like you're raising concerns about SLA to bugs etc. You're comparing Amplify against the likes of Stripe, Apple etc. Amplify already is built on top of the AWS infrastructure and let's you have a simple way to collate your application to a certain degree of a AIO solution. Quote from the Amplify website:
The AWS Console won't use Amplify or AWS doesn't need to use Amplify to make it's own products, there's a full application including backends for the main infrastructure. There are many sample applications and tutorials by developers and people who work in the Amplify team already who show you how to build applications, products etc. I would hope you take up a convo with @renebrandel as he's the project manager for Amplify, address any concerns and feedback directly in a call or dm, I mean do you get that kind of direct access to the teams at Apple, Stripe etc? If there's improvements to be made, it's a clear showing that the Amplify team at AWS are prepared to jump on a call with you and listen to your feedback directly and make improvements.
I also don't agree with this quote, no product out there is perfect, bugs appear and issues happen, things get solved, however take into account that development processes have roadmaps and bugs are most likely graded on severity. This is my feedback on this issue as a Amplify user. I've never had an issue with the Amplify team or the product itself, I use it day in day out as a developer selling this to my customers. |
We've just had in-depth team meeting with @nubpro's development team and have identified the three core issues. We were able to resolve an issue in regards of the refresh token expiry. For the two other issues, @sammartinez & @iartemiev will be tracking progress within the respective issues listed above. I'll be closing this issue and leverage the other issues as the main tracker issues. @nubpro - thank you for connecting us with your team and spending the time with us to walk us through the issue at more depth! |
I really appreciate that you guys are willing to approach us directly. Thanks Amplify Team! Well we are far from done as the problems remains, I'm looking forward to the solutions. I do have 1 question remain, is Amplify actively being used internally by AWS? |
Great to see this discussion here. Thanks for initiating it @nubpro . My current story with AWS Amplify:
|
Today, let's talk about AWS Amplify project as a whole, I would like to touch on a controversial subject (if it isn't one yet) which is regarding to its existence. Been using Amplify for 6-7 months and I'm noticing there's a pattern on the GitHub page, specifically there's a vicious cycle in the development of Amplify. Any PM or SE thinking of adopting Amplify in a real world project should read on.
My Experience of using DataStore
The project that I'm working on is grossly tied to Amplify and I'm the developer building the app with DataStore. The main driving force of adopting DataStore is that it comes with offline support that it's going to dramatically cut down the development time. What I'd got instead is I'm spending most of my time digging into Amplify source codes to pin point the problems and being super frustrated and disgruntled using DataStore.
I'd to address these problems myself with this PR #6366 and #6436 respectively.
The more I use DataStore, the more problems I discover. This leads me to believe there's no absolutely no projects on Amazon that is using Amplify and DataStore currently or probably in the future. Why you'd ask?
There's many fundamentals of DataStore that is straight out broken which is totally game breaking to absolutely any projects.
Three major flaws:
Performance - #6996 #6994
Resilience - #6162 #6488 #7036
Reliability + Usability - #6542 #6361 #6363
The Vicious Cycles
Vicious Cycle 1 (Stable release?)
Vicous Cycle 2 (Requesting essential features)
No saint developer can work on this timeline.
Vicious cycle 3 (Critical bugs)
Flaws with the performance and resiliency of DataStore are extremely critical and should be treated as such.
If Amazon were to use DataStore in their apps, I'm fairly certain these bugs are squashed within 48 hours. This is simply because THESE BUGS IMPACT THEIR BUSINESSES!
The Solution?
Build Amplify the way it is meant for Amazon services, then focus on external developers.
In other word, use the freaking tool you'd build, ADOPT THEM INTERNALLY!
Let's take a page from the industry leaders where they are building tools to serve their own purpose.
Facebook
They built React and React Native. Both of these super powerful lib/framework are in-use in the Facebook app. These tools are pushed to the consumers for robust testing before being published to the developers.
(source)
Microsoft
Microsoft builds React Native for Windows and ships the new Microstore Store on the Xbox (source).
They introduced Fluent UI which is also being used in the Office apps (source).
Apple
Apple created Swift and it is been used on many default iPhone apps such as Calculator, Measure, FindMy, Widgets. (source).
Google
Heck even Google is leveraging Flutter on Google Stadia and Google Assistance (source).
Amazon
Amazon infra uses DynamoDB (source1 source2).
These examples says a lot about building tools.
Build tools that you use, then hand the tools to the public.
I strongly believe this is the correct mentality that should be applied when building any tools.
I can't amplify this point enough. (pun intended)
I truly hope this message gets to the right person to do the right thing for Project Amplify.
The text was updated successfully, but these errors were encountered: