top | item 17645998

Launch HN: Toybox (YC S18) – Communicate changes to sites without writing code

86 points| bmaho | 7 years ago | reply

Hi HN! We're Jono and Brendan, the founders of Toybox (YC S18). Toybox lets designers, marketers, and copywriters communicate changes to developers on any website, without having to write code. These changes get annotated as CSS edits so engineers can understand, reply, and implement the fixes (https://www.toyboxsystems.com).

For years Jono and I have struggled to communicate changes with one another during the development cycle. As a UX designer and Jono as a full-stack engineer, we spend hours going back-and-forth, trying to make small but important tweaks to sites. This was by far the most frustrating part of our jobs, driving us to try to solve this age-old problem.

While learning about the development to design handoff, we’ve come across some common challenges teams face. First, not all companies have sophisticated or easy to deploy staging environments to quickly share works-in-progress. Second, some designers make tweaks using Chrome Inspector, but these changes don’t persist and are recorded nowhere near the relevant web page. Lastly, the majority of these conversations are happening in unofficial and unformalized spaces, making it easy to dismiss and disregard.

The first problem we attempted to solve was creating a way to share web pages without a staging environment. To do this, we built a chrome extension that collects and sends the rendered DOM of the current page to Toybox. People write HTML and CSS in creative ways, so making sure we accurately re-render the captured page within Toybox has consistently been a fun and difficult challenge (looking at you CSS in JS...).

We built Toybox in a way that doesn’t require prior front-end knowledge to use. We created an inspector that makes any page feel like Squarespace—a universal WYSIWYG of sorts. As you make tweaks, those edits get saved as CSS allowing a developer to contextually review where on the page a change was requested and the relevant code required to resolve that change. To see it in action, we made a demo of Hacker News here: https://app.toyboxsystems.com/share/Zodzjmzhpx3w

We're excited about the possibilities of having a rendered web page within Toybox. We’re currently testing the concept of style and component linting. Instead of the rules being tabs vs. spaces :) we can lint for incorrect uses of color, accessibility, typography, button styles, and so forth by using design files or style guides as inputs. With the rise of component libraries and design systems, we’re excited to further automate these QA efforts and make this communication channel even smarter.

We’d love to hear your feedback and personal experiences when it comes to this phase of the development process. You can try Toybox for free here: https://www.toyboxsystems.com/

Thanks, Brendan & Jono

37 comments

order
[+] soared|7 years ago|reply
Your hn demo is super interesting. It would be cool to see designers fix popular websites (cough reddit) and then be able to release those changes to the public.
[+] soared|7 years ago|reply
Replying to myself -

It would actually be excellent "tool/side-project marketing" (like unsplash.com was for crew.co). If you set up a demo page like that, gave access to certain designers, and let them use your tool for free to showcase their redesigns of major sites.

[+] bmaho|7 years ago|reply
Love that idea. So kind of like dribble but instead of screenshots of redesigns, it's the developed site?
[+] hamslamwich|7 years ago|reply
This would be super cool. Could even do community-based upvoting on what a leading website should look like.

Curious as to how the legal end would work re: IP. If you have 1,000 people redesigning Reddit and publishing it for all to see, there's bound to be some serious design overlap (whether intentional or not) when said company eventually goes through a redesign.

[+] adora|7 years ago|reply
That would be cool. Sounds like you could build a community around that.
[+] hfourm|7 years ago|reply
I find this interesting, but feel like there should be a "less developer" focused version for non-dev communication. IE: Product manager, stakeholder, etc. Give them an easier way to annotate parts of the page with notes, versus the current way: screenshots and highlighting things with paint, powerpoint, etc

Edit: I see the screenshot view is sorta closer to what I am getting at. Either way, sounds like you guys are solving an interesting problem and should be easy to communicate the value if you clean up the UX. I just was overwhelmed at first.

[+] bmaho|7 years ago|reply
Agree with you there.

We've been thinking about having an "advanced" toggle which would hide the "developer focused" inspector and just leave a comment field. Wondering if you have thoughts on how we could do this better??

[+] uxamanda|7 years ago|reply
This is cool and solves some of the issues around staying organized when creating a final polish punchlist that come up, even when I'm doing the design and dev myself :-).

Couple thoughts -

When adding a new comment, I was surprised that mine became "1" which reflowed all the numbers. Seems like it would be helpful to append the comments so that the numbers stayed static.

Also, it would be neat if I could change the styles of all the similar elements at the same time. For example, when editing the .storylink class, it would be neat if I could choose to edit all similar elements or just that specific instance (like I can in the normal inspector). That would make it easier to preview my changes and make what I am trying to change clearer to the developer.

Another feature this brought to mind would be a way to preview all the colors in use on the page, kind of reverse engineering SCSS color variables. That way a designer could preview what changing orange --> green across all uses might look like before committing to it. The designer could also suggest a new color be added to the palette. In a dream world, this would also work for all font styles in use. Basically creating a reverse style sheet so you could see and consolidate minor differences. Maybe this is what you mean by style and component linting?

Finally, it would be cool to have "versions" or "groups" of the edits. We often debate whether we should go one direction or another, and being able to flip between a few options without fully coding a solution would be neat.

Cool project and good work!

[+] bmaho|7 years ago|reply
1. Can't agree more with the numbering issue. We're going to be fixing that ASAP :)

2. We're currently working on adding the ability to edit just one element or all that are associated with that class. Should be live in a few days!

3. Yes and yes. We're super interested in this idea as well. We've been testing out showing all the style elements in use on any given page ( i.e. on this page you're using these 5 grays, 4 type styles etc.). With that information, we can allow users to "add" those elements to their saved styles and see if something on the page doesn't match. For instance, the red we use is #C8080A but I can now see that in these 8 places we're using a red that doesn't match. Would love to hear your thoughts around this!

4. There is actually a "History" tab located on the side-panel where you can view the changes made to that page over time. Let me know if that's what you meant and how we could improve the visibility/usability of that!

[+] lee101|7 years ago|reply
I built something similar: with http://WebFiddle.net you can see what any site would look like with custom CSS and JS applied, its like an editor for changing the web/plugins/extensions ect. Used by technical types.
[+] bmaho|7 years ago|reply
Thanks for sharing that. Took a quick look and looks really cool!
[+] awb|7 years ago|reply
My clients (VPs of Marketing and CEOs) would never provide feedback in a tool like this.

It's Email or a phone call every time because they don't have the time it desire to learn a new tool for what to them is a one off design project.

[+] bmaho|7 years ago|reply
Totally hear you there. Thanks for the feedback!

We've seen freelancers and agencies record feedback themselves while on the phone with their clients but appreciate your honesty - super helpful for us.

[+] profalseidol|7 years ago|reply
Mine will never ever. But maybe if it becomes as popular as email or excel. Ahh, the life of a giga corporate cog.
[+] sgrove|7 years ago|reply
Definitely like the HN demo!

Few questions:

1. Is there a way to set different CSS for different breakpoints? It seems like if I tweak it for desktop size, it also applies to the mobile screen.

2. Is there an output that shows the full CSS diff so I know the extent of what I have to change, as a developer? Ideally you'd even be able to pull in source maps and generate a patch file for me to just apply.

3. Could you even make it so that this just generated a PR on the GitHub repo with the changes in the CSS/LESS/SCSS? Seems like that may require a lot more integration with the tooling, so might not be worth it.

[+] kolnik|7 years ago|reply
Thanks!

1. Breakpoints are definitely something we’ve heard and are actively working on!

2/3. Another great idea - would love to hear more about what you hope to extract from the full css diff, versus change by change? The patch file/PR is an awesome idea and something we definitely want to push on as we integrate more with the chrome dev tool api :)

- Jono

[+] newscracker|7 years ago|reply
I thought I'd check the demo site, but it's spinning the loading animation for more than a couple of minutes now. Perhaps there's a big traffic spike with the launch news. I'll check it out some other time if I remember.* But this is one of the most important things to address quickly.

* Don't trust users to remember and go back to a site that seemed interesting but wasn't working or loading.

[+] wsul|7 years ago|reply
Really love this concept, awesome job guys. Do you think marketing and growth teams will use to surface ideas for copy and layout changes? I could definitely see a future feature that let teams vote too -- would be super valuable for growth teams that are moving fast.
[+] bmaho|7 years ago|reply
We've started seeing some Marketing/Growth teams use the product to communicate copy changes etc. so we're interested in how else we can provide value there.

Love the idea of upvoting edits. Will definitely test that out more :)

[+] raving-richard|7 years ago|reply
Great to see Toybox getting some attention. While I'm still not convinced that BSD-0 is the best license, it certainly encourages innovation in the space.

Wait, you're not Robert Landley!

Naming stuff: one of the hard problems of computer science.

[+] sueders101|7 years ago|reply
Wow! This looks awesome. After signing up and playing around with it; I can actually see this fitting in to my real workflows. I see you guys have integrations coming soon, and the only request I would have is Asana support.
[+] bmaho|7 years ago|reply
Glad to hear that!

Just added that to our backlog :) Wondering how you envision those changes within Toybox being displayed/integrated in Asana?

[+] anacleto|7 years ago|reply
Nicely put. It's been a while since I saw a product so nicely curated.

Well done.

[+] bmaho|7 years ago|reply
Thanks! Let us know if there is anything we can do to make it better :)
[+] JohnDotAwesome|7 years ago|reply
Wow this is really neato! Often times, I find myself not only changing CSS, but editing the HTML. Does that work in Toybox?
[+] bmaho|7 years ago|reply
At the moment, our WYSIWYG allows you to edit the CSS properties of any element. The only HTML element you can edit via Toybox at the moment is changing text.

Would love to hear how you'd envision editing the HTML? Wondering what types of edits you're currently making to the HTML via the console?

[+] Yoric|7 years ago|reply
That sounds interesting. Do you plan to port this to Firefox? I'd love to test it :)
[+] bmaho|7 years ago|reply
Right now, you can view and edit any web page in Firefox but to capture it, you have to use our Chrome Extension.

We’re looking at other ways to “capture” pages i.e. js snippet, firefox, etc.

Let me know if you have any preferences or ideas there :)

[+] swaggyBoatswain|7 years ago|reply
How do you differ from Webflow and zeplin/figma?
[+] bmaho|7 years ago|reply
Zeplin and Figma help teams in the handoff from design to development. They take design files and automatically translate the vector-based shapes to CSS without having to manually redline.

We go the opposite direction - from development to design. We capture web apps or sites (not design files) and allow non-technical teammates to make edits and communicate those changes with developers.

Webflow allows anyone to create and host a website from scratch using their robust WYSIWYG.

Unlike Webflow though, with Toybox you can capture any web app or site and make edits using our WYSIWYG (don’t need to have originally built it using Toybox).