Hacker News new | ask | show | jobs
by mr_puzzled 2252 days ago
The company I work for uses Outlook/teams for booking meetings and it works incredibly well. The scheduling part you talked about is almost exactly like the scheduling assistant feature in outlook and teams. Sorry if this comes across as a negative question, but what exactly does zync offer over outlook and teams which have scheduling assistant?

Can you also briefly talk about your traction? Eg- no of users, growth rate and at what stage you were in before YC and currently. Good luck.

2 comments

I haven't used teams, but from my experience Outlook's scheduling assistant just shows you a few open time slots. The biggest problem is when there aren't any acceptable open slots within a reasonable window into the future (e.g., this week), and the only way to make the meeting happen is to move stuff around. This then becomes pretty problematic if you have to start asking other folks if they can move conflicts around.

(I don't know to what extent Zynq resolves these issues.)

There isn't a general solution to this, which is why the typical scheduling tools just punt back to user.

I suspect the real difficulty for a company trying to offer something more powerful is balancing effort/input the user has to take against dynamism and principle of least astonishment.

I don't think it would be hard to write a scheduling algorithm in this space that basically works but everyone hates, for example.

The scheduling assistant shows you the timeline hour per hour, with a line for each employee and any meeting they have anywhere. You can even view what any meeting is, if their meetings are not set to private.

I think it's quite good to find a time, with the least conflicts. However given any meeting with more than 3 people in a large organization, it's simply not possible to gather everybody at once, without planning 3 weeks in advance.

one screenshot: https://technology.ku.edu/outlook2013/scheduling-assistant

Our algorithm doesn't just try to find an open slot, it tries to choose a time that's most productive for everyone. This means maximizing everyone's focus time (stacking meetings as close together as possible) and in the future respecting preference as well (eg if you prefer meetings in the morning instead of the afternoon). As far as I remember, scheduling assistant still requires you to pick and time and room yourself although it gives you a view to do so more easily.

We came up with this idea halfway through YC and our paid version of the product has paying 2 customers and several others in the pipeline, including some big tech companies.

When I schedule a meeting with more than a few people, the number of open slots within business hours quickly converges to zero. So I have to manually make the decisions as to who is most important to have in that meeting (based on the topic), and who will be conflicting.

Curious how an automated algorithm can make that decision.

One way we try to solve this problem in our paid product is by prioritizing more urgent meetings (marked ASAP in our tool) and dynamically moving flexible ones (marked "This Week / Next Week / etc.") around if possible to free up space. If the meeting is scheduled manually via Outlook/GCal, we assume it is high priority and don't move it. We experimented with more complicated priority systems but ultimately that required too much work from the user
Aside from everyone marking their own meetings as IMPORTANT! you could also delete all meeting requests that are "flexible" or deemed not critical - why are they being held in the forst place?
We think of priority based on time sensitivity - not importance. For example, if I have a 1:1 with my direct report, it is very important but not time sensitive. This allows us to move that 1:1 if needed to accommodate a more urgent meeting
We work in resource scheduling and this is a continual tension between "algo optimized" and "manually tweaked". We have lots of very smart people working on both the technology and the workflows, but none of them have ever been able to explain to me how you resolve this in a consistent, universal way. I see the same problem here.
If you're expected to gather many people (more than 10), or really need to work with few specific people on a specific project. One trick is to schedule a weekly or biweekly meeting for that.

If you really need it one specific week, send an update with topics that must be covered. If you really don't need it one week, cancel it in advance.

Assuming that you work with regular people or on regular projects. You or other participants will always have something to share, but maybe only 15 minutes out of the hour, it's fine.

Edit: this makes me realize. It's obviously not a software algorithm for scheduling, because this ain't a technological problem. So to make it a technological problem, the issue might be to identify groups of people who interact and prepare them regular timeslots together. Now that's a plan for a SV startup that will disrupt how meetings happen.

Optimizing scheduling in a system that is already at or over capacity (i.e. double bookings) is a very challenging problem and we don't claim to solve that problem. It would require manual user input which doesn't work very well. Instead, we focus on solving rearranging meetings based on urgency and also to optimize for individual focus time
How about something like "required" and "optional" participants? Also a feature of outlook meetings :D
Good idea, this is also a feature on Google Calendar. IME it is not used much unfortunately, and the challenge is balancing the work a user needs to do up-front vs. the benefits. Definitely thinking about creative ways to get this information though!
I can tell you I'm working in a F50 bank and it's heavily used all the time.

If someone ain't marked required, then that person probably ain't coming up to the meeting, and they won't tell you that they couldn't make it because they assume they're not needed.

Similar thing as in To and Cc for emails. No need to reply to emails where one ain't in the To line.

Ah. Social conventions in large organizations. An infinitely complex topic. But you're probably not trying to cater to Fortune 500 so nevermind.

Thats a good point! Every company (F500 or not) has different cultural/social norms about how they treat attendees (and even cc on emails!)
Stacking meetings is helpful until it is harmful. How do you balance that, out of curiosity?
we define focus time as 3+ hours of uninterrupted time chunks. If you already have less than 3 hours of free time during the day, we prefer to give you a break than to further stack meetings together.
Ah I see, do you mean in case you need to do some prep/post-meeting work for a meeting and if its sandwiched, there is no time to do it? I can see that being a problem as well, we are adding functionality to cycle through suggested times to avoid that situation if the default time we suggest causes issues like so
It's both pre/post work, and focus.

Some meetings need more mental focus than others, so stacking them can in fact can cause the same sort of problem you are trying to avoid with other work (i.e. "focus time").

cycling through sounds like a decent approach.

I cans see how that helps with protecting some focus time but not with meetings themselves

For example there are lots of situations where 4 1 hour meetings in a row is just a bad idea even though it could be done to protect a 3 hour block. Problem being knowing which situations those are depends on both the type of meeting and your role in it.

I guess the problem is splitting your day into "focus time" and "meeting time" will work well for some roles, but is overly simplified for others. Not obvious how to solve that, most of the simple approaches would involve significant user input.

How do you handle the fact that not everyone needs big blocks of uninterupted time (example: IT vs Developers) or that all employee-hours are not equal?
For our paid product, we allow the company to set priority based on roles (mostly for executives) and also to tune the algorithm to work differently (prioritizing meeting space utilization vs. individual focus time)