Here at Specify we care about copy as much as we care about pixels. We recently added Ditto to our tech stack and we enjoy using it as a team. It helps us collaborate faster with less back-and-forth conversations. One source of truth for design tokens, one source of truth for copy. Keep it up, ?makers!
@fmerian Thank you so much for using Ditto Florent! Really appreciate your support and feedback. 💛
Feel free to leave a review of Ditto at the top of this Product Hunt if it would be helpful! 🤗
Wooooooo!!!!!!!11!!!!!!1! So excited to see this amazing update. Congratulations on the launch and on all your progress over the last few years. You've brought something truly valuable into the world and I love seeing so many teams engaging and responding to it. 👏👏👏👏👏
Jonathon!! This means so incredibly much coming from you 🥲 Thank you so much for supporting Jo and I from day one on this journey, and for all that you do for the content design community 💛
@jcolman ahh echoing jessica -- this absolutely made our day!! so much admiration and respect for you and so grateful for your support from the very beginning ❤️
Hey everyone! Jessica here, co-founder of Ditto. The whole Ditto team is so excited to share with you all something we’ve been heads down working on over the last few months — Ditto 2.0 🥳
Before we dive into what Ditto 2.0 means, let’s take a step back.
Over our last 2.5 years building and growing Ditto (with the support of an amazing community of product people from designers to writers to developers!), we’ve seen teams that integrate Ditto into their workflows completely shift their thinking about two core things:
1. The importance of text in building user-facing product
2. The ability to systemize their text into components
We’ve been so excited to see everything from teams building expansive text component libraries in Ditto to having Ditto manage every user-facing string in development. 🤯
As Ditto became a core part of teams’ workflows, from design to development, we knew that there was one core aspect of the product copy lifecycle that Ditto didn’t handle: ideation. 💡 The crucial part of the workflow where it was important to move quickly, iterate, and be able to draft things out. 🏃🏻♀️💨
Teams were still drafting their text in tools like GDocs, Word, and Notion before bringing it over to Ditto to handle the process from when the mockups get created. We asked ourselves: how can we have the best of both worlds — a lightweight text editor with a powerful content system that managed text across a design and development? 🤔 ⚖️
After months of hard work, iteration, and user feedback, we’re so excited to share with you all our answer to that question: Drafting in Ditto. Drafting allows teams to draft text in a collaborative text editor before any mockups are created. Afterward, teams can “enable linking” to sync it with mockups in Figma, fetch it via our developer integrations, or link it up with their existing component system.
It’s such a huge expansion from Ditto’s existing functionality that we’re calling it Ditto 2.0. Anyone can start a draft project in Ditto to begin writing their text.
If you get to try it out, please let us know how it works for your team! We’re super excited to be able to grow from feedback, and we can’t wait to see it in teams’ workflows. ❤️
@ouyangatang This is a much-needed upgrade and you guys have done an incredible job in implementing it. It is a great collaborative platform that can be used among our devs to save time.
Kudos to the team!
@ouyangatang Thanks for a detailed walkthough in the video, Jessica. Great product, amazing to see how your plugins help connect design and development tools. A really helpful project for product designers.
@maya_ovice Thank you so much for checking out the video walkthrough! 😊 Definitely a couple of moving parts across design and development, but hopefully fairly seamless once you're up and running
Hey @ouyangatang That is a brilliant app, what is the idea behind the name of the product? would love to know your creative idea keep up the good work congratulations for your launch
@muskan_thakur Hi Muskan, thanks so much for the kind words! The name Ditto was actually born during a late-night night conversation between me and @ouyangatang, as a fun reference to the word "copy" 😊
Jo here, the other co-founder of Ditto!
A little over 2 years ago, we launched Ditto right here on PH. We didn’t really know what to expect or what the reaction would be — we just knew that we had personally experienced how powerful but also undervalued copy was and were building something to fix that. That day, we learned that a lot of people felt the exact same way! 😊
Since then, we’ve been overwhelmed by the amount of support the community has given us as we’ve navigated building a tool in a space that didn’t really exist before. With your feedback, we’ve been able to launch things like Ditto components, variants, and our first developer tools, all in service of making copy a first-class citizen when building product. Thousands of teams have used Ditto to build their (often first-ever!) content source of truth.
Today’s launch feels especially momentous because it opens Ditto up to everyone to use. You no longer need to be on Figma or any other specific tool to get started.
We’re so excited about all the possibilities that drafting in Ditto unlocks and all the things we (and the community!) will be able to build on top of the foundation that is Ditto 2.0. We have big plans for the future, and can’t wait to share more with you all! ❤️
The whole team who helped bring this to life (@jordin_builds, @xavier_agostini, @ashley_newman1, @robinson_claireb) will be online all day to answer any and all questions. :)
We can't wait to hear what you think! 🥳
Congrats on the v2 launch.
Great to see neat tools to facilitate the collaboration between UX writers. designers and engineers. The right problem to solve. 👏
We use something I think called Phrase but it's really cumbersome and our devs worked on a plugin themselves.
Thank you for following along our journey Oleg! 😄
Super interesting that your developers built a plug-in themselves; does it mostly facilitate the developer handoff process? It’s pretty crazy that content tooling has been limited to either CMSs or localization tools like Phrase for the longest time 🫢 Fingers crossed Ditto can change that process for a lot of teams!
Exciting! :) How about variants for non-Figma linked projects? That would help us to also handle content translation for our emails in Hubspot - and thereby we would put the last piece of the puzzle and get all our content in one place. Thank you for all the good work you do!
Hi @joakim_bergman! Once you 'enable linking' on your draft text, you can use all the Ditto features you love; variants, variables, plurals, components. Let us know if you have any questions about this!
@xavier_agostini That is great, and thank you for such a quick reply :)
To follow up on that, I just want to get an idea of how I would make it possible to work with a translation agency with the export/import JSON feature in relation to the language variants.
If I export a project with only a base variant (let's say English) as a JSON file and send it to the agency, and they come back with two JSON files - one in Swedish and one In Finnish. When I import these back into Ditto, can I simply add them to the same project as language variants?
Bonus question: If I later change, say, half of the base variant (English) or add more text fields that require translation or re-translation, is the easiest way to simply delete the old language variants and send off the base variant as described above for another round of translation? This may sound like an expensive thing to do, but translation agencies often save translated content in their translation memory, so what was translated last time should just be automatically translated this time around.
If there is a better way to do all this, I would love to learn it. In that case Ditto would be the optimal choice for my business :)
Hey @joakim_bergman! Great questions!
Ditto supports uploading JSON files containing variants through two different methods: manually via a modal in our web app, or programmatically via our API.
Our API also supports uploading JSON files to update existing variant values at any time, such as in your second example when many of those values have changed - updating variants in this way would probably be quicker than deleting the variants first, especially since our system will simply skip over any values in the uploaded file that haven't changed.
The features I've described currently work exclusively with 1) non-base variant text and 2) components in your Ditto component library; however, expansion of this functionality (including full write access via our API and the capability to target individual projects) is on our roadmap :)
@jordin_builds That is a great reply, thank you Jordin - and I am very happy to hear that. Then I would assume there is no big reason not to use Ditto for both Figma and non-figma projects that needs translation through export and re-import of JSON files.
This is something I think you should put on your website as one of your USP's by the way :) it is really great to know that it's possible to not only work within Ditto with various languages/variants but also outsource translation in whatever those translators prefer to use in-house (provided it supports JSON of course).
Once again, big thanks and I look forward to start using Ditto for all of our projects :)
@joakim_bergman That's awesome Joakim, and thanks for the suggestion! Feel free to reach out in the future if any additional questions or suggestions spring up :)
This launch represents multiple months of hard work from everyone on our team, and we're all stoked to finally share the fruits of our labor with the world! 🎉
I believe that the ability to draft text directly in Ditto is a MASSIVE boon to product development teams.
For writers: a lightweight text editor automatically tracks the history of every piece of copy you write, correctly attributing all edits to the users on your team who make them. When your drafted copy is ready to be used outside of Ditto, the click of a button turns your draft text into fully featured Ditto text items, complete with the ability to use variables, pluralization, variants, components, and more.
For engineers: since text that lives inside of Ditto isn't constrained to copy in design files, a codebase integrated with Ditto is freed from the same limitation. We've also made a series of systemic modifications that pave the way for new features that will dramatically increase the power that development teams have when working with text in Ditto. Stay tuned :)
Super excited to field feedback and/or questions!
The team and I worked hard to get Drafting out and cannot be more excited for everyone to start using it 😊 Thanks to everyone who has been so supportive of this launch thus far!
Congratulations, you are doing an amazing job! It's a significant and much-needed improvement. Btw, are you planning to introduce the possibility of applying variants to several frames simultaneously?
@aliaksandra_baravikova Hi Aliaksandra — thank you so much for using Ditto! 💛 Yes, we have gotten this feedback from a couple of other teams, and we’re hoping to have it in a future release. We’ll definitely keep you updated when that’s out 😄
I'm so excited to be sharing out Drafting and so amazed at the hard work of the rest of the Ditto team to bring this to life. I can't wait to see how everyone uses it ❤️