Interesting. Had a google interview not too long ago, and this was exactly the question asked to me - how would you design an algorithm to find overlapping free time from person X, Y and Z. I guess they got more practical with their questions over the years.
There might be a really clever hash you could build, but it's actually a somewhat complex problem. Finding an overlapping range between two entities is easy... finding it for n-entities is a bit more difficult particularly if you want to do it efficiently. I can imagine a couple of answers.. you can build a lookup table (which makes sense if the time resolution is low enough) and then find gaps in it.
It's actually a pretty good interview question if your going to ask a whiteboard question. It has lots of answers depending on requirements. You can get into parallelizing it for speed. It's more of a practical problem than most and you can implement it basically any language.
Also not on weekends, or outside hours during the week, also not at lunch time, though it may be 'free', also not 5PM, who's paying attention to a meeting then?
(just examples of what i might consider when setting up a meeting manually)
It is still just bitwise if you model the time slots e.g. like one bit stands for 5 or 1 minutes and then look for some contiguous 'free'-block in the result
Okay, how do you find a string of N 1's in a very long bit pattern? What's the space and time complexity of your solution? (hint: you can do a lot better)
Google has been trying to dumb down their services and products for years, to the point where the UI is something even a baby or old person with dementia can use it. For the most recent example of this see the latest update to the YouTube app for iPhone - they managed to make an already austere interface completely bare-bones, to the point where the main "home page" is entirely useless.
They do this to product after product, all the while claiming things like "power users are not our target user group" or "only 5% of users used this feature, so we removed it", and for random millenials using their phone to figure out what bar they want to go to tonight, that approach works (ish).
But Calendar is actually used by lots of working people/professionals/power users every day, and those people aren't interested in a super stripped-down "beautiful, magical" (also inscrutable) interface that rips out every feature that's not used by at least 90% of the userbase for the sake of whitespace. We need a tool that is predictable, works, and doesn't require retraining for everyone to use it.
So Calendar stays frozen in amber, caught between one pole (being actually useful) that Google desperately does not want to migrate towards, and another pole (beautiful, magic, useless) that Google desperately wants to move to but knows would alienate their userbase if they did. And while normally they give 0 fucks about that, because of GAFYD they can't just wave away the consequences of such a change - that business unit would be in serious danger if they managed the apps & services within it as capriciously as they do everything else.
As a power user I find the mobile version more useful. Creating a new event on mobile is actually easier than on desktop. I want that same power on desktop too
For the simple case, on web: Click the time I want to put in an event for, type in a name, click "Create Event". Even if somehow you managed to simplify further "I want to do something at this time - I want it to be named this - I am done" I'm not sure the world benefits from that being easier.
For the more complicated case... Really? I admit I haven't played with it on Android in some time, but is it really easier to, say, create a new event, invite 4 people, add a conference room, select a time that works for everyone, make it repeat Monday, Wednesday and Friday, with a reminder 10m before and 20m before? Because if so I'm honestly surprised - that they even offer all that functionality at all, let alone that it's easier on mobile.
You should be pleasantly surprised, then! All of the functionality you included in your complicated case exists directly on the event creation page. "Select a time that works for everyone" was the last one missing, and this update is of course just that.
> Google has been trying to dumb down their services and products for years, to the point where the UI is something even a baby or old person with dementia can use it.
In the process they're making it that technical people cannot (or, have great difficulty) using them, such as gmail. (I very often don't notice attachments, or can't find them, I have great difficulty following threads, I have to hit a button to cc: or to change the subject, etc etc etc)
I find them annoying. Not long ago, I would tap the + icon on the calendar to add a new entry. Then a few weeks ago, they added an intermediate step: Do I want to create an Event or a Reminder. What's the difference? Who knows, but it was a stutter step in my expected workflow. Now this week I have a third choice: Goal.
My needs in a calendar are very simple: I want to be able to enter a description of something happening at a date and time, and get an alert when that date/time is approaching. That's it. I don't seem to be able to do that as simply anymore.
The single necessary feature that the web calendar lacks is the option to enable infinite scrolling (much like the osx Calendar app). I constantly find myself toggling back and fourth between months, like at the end of this current month, where I see Saturday but Sunday (May 1).
And the ability to forward an event. And the ability to propose a new time for a meeting. And the ability to accept a new proposed time for a meeting from a client that does have that ability.
The ability for event colours to actually be labels (that can be filtered for visibility) would be appreciated, currently you have to setup multiple calendars to achieve this, and that's not too useful if people are trying to track when you're free/busy.
Thats a good point. It does have find times, but a lot of the other recent feature launches aren't there like goals and the event creation auto complete.
A decade ago "outlook for mobile" was essentially BB or non-existent.
Reminds me of when I bought an old receipt printer with a serial port to print out the days weather, my calendar items from a text file, and any "must do" items. Haven't had it around since ~2011 and I really miss it.
I'm going to guess that this only works if you're meeting with people who all have Google calendars. Within this limitation, the web interface has been capable of this for quite some time ("Find a Time" tab or "Suggested Times" when creating an event).
Of course, not everybody uses Google as their calendar provider, but that would be a harder (if more interesting) problem to solve.
The current Outlook app allows you to insert availability into an email, and let someone on another domain pick one of those times that works for them (and it auto-creates the meeting at that chosen time, too). I think this came from Sunrise, which also did this.
Is this the first release of this app? I thought that previously the standard google calendar app was just AOSP Calendar, but I prefer the AOSP apps anyway so maybe I didn't notice the shift earlier?
Anyway, in case I'm right, it's probably useful to point out that this is another non-free app that's being marketed as a replacement for an existing free app that works perfectly fine. Not condemning Google for it (although I do wish they'd stop), just pointing out that if you don't find the new headline feature or visual redesign interesting, and you care about free software, you can go ahead and use the old app. Maybe fork it too, since it won't be getting any feature upgrades any time soon...
I would love Apple to add some of this stuff to Calendar. I believe Calender is now on iCloud so interoperability is hard but that would also be great. Come on Apple I believe in you!
Can't wait until Google decides that viewing the calendar agenda should be done by seeing one event at the time on the screen (newest YouTube update) [1].
Seriously Google, can this waste of space shit just stop ?
There is indeed a lot of focus on the screenshot now, but the two column layout wasn't that great either. For example, videos with long prefixes would make the right half of the layout useless: http://i.imgur.com/7L8nB7s.png
This "Material" design nonsense feels like someone installed two magnifying glasses on my eyes and told me to navigate previous UI. It's right on par the huge icons and full screen apps starting with Windows 8.
It's because Android has to scale across such a wide range of device types and sizes. If you look closely at Material Design, you'll notice that pretty much everything can be implemented with vector graphics. The primary colors serve a similar purpose. Not every phone has the ability to display high resolution images, but even the lowest of lowest-end Android phones can display "red" and "blue". The same thing applies to the information density. Displaying information at a comfortable density on something like a Nexus 4 means that the same information displayed on a Nexus 6P (or Samsung Galaxy S7 or what-have-you) is going to look blown-up and sparse. It's even worse when you go to tablets.
I think Google has really dropped the ball when it comes to designing their own apps. Rather than putting in the time and effort to make apps that scale properly (e.g. displaying different amounts of information on different screen sizes) they took the lazy way out and just scaled up the white-space between list and UI elements. And of course, Android application developers are following Google's lead in this regard. This is why there are so few applications that are designed for Android tablets. Whereas Apple's iPad apps look and work substantially differently from their iPhone counterparts (as you'd expect), Google apps on Android tablets look like scaled up and blown out versions of their phone counterparts, with the attendant losses in usability.
Depends entirely on the person. If you work remotely, 'travel time' is the length of time it takes to make a phone call. If you collect cash, it could be an awful lot more.
Am I the only one concerned about privacy implications here?
Google is revealing private calendar data without any ability to control what is shared and what is not. This is another example of sacrificing personal privacy for a "cool feature". No thanks!
It only works when you already have access to see the other people's calendars (and hints at this with "Designed specifically for organizations where sharing your calendar with colleagues is the norm").
Looks great, liking that is suggests times too.