Slack: 10 Challenges for the Future

* I’m not a great designer, and my sketches are very rough — I’m working on it!

Over the holidays, I was thinking about the repository of products I wanted to write about. I’ve been looking forward to analysing Slack for a long time for two main reasons. Firstly, because my product work while at Weave.ai is very linked to what Slack is doing right now (see this article). Secondly, because I knew it’d be tough to critique such a quality piece of software.

Slack’s tremendous capability to ship is something any product manager can learn from. Most people who have used Slack’s app or desktop app for a month or so will admit how assured they feel that they will be served well.

The UI is slick, it’s fast, it works and it’s fun. Most of all, Slack openly encourages and seeks feedback, all the time. This creates community love, and converts users to fans.

The other day I sent a request to Slack about the ability to insert images into Slack posts, and received a response within the space of 3 minutes with a workaround (you have to use URLs currently, you can’t upload an image from your local storage).

I’ve faced loads of examples like this which give one the confidence to recommend the product to your friends without facing the risk of them thinking anything negative about it. This metric, which could be measured as “recommender confidence”, invariably leads to viral, hockey-stick growth for any startup.

The Slack Platform Announcement

Slack’s app store. But that isn’t the only part of the community — check out https://api.slack.com/community to see just how many integrations have been built out.

April Underwood recently got promoted to lead the product team at Slack, having led the app integrations and partnerships division. Slack also has a hugely experienced platform/product team in general, including Simon Vallee and Jassim Latif.

This is a clear display of the importance Slack places on building Slack as a SaaS ecosystem, a place where any existing work related nuisance can be removed, and people can improve their time at work, with more time to create and build stuff, and less time performing boring, admin tasks.

Some “Brilliant Bots”. http://howdy.ai/ can automate your stand-ups or collecting lunch orders, and everyone knows how frustrating those can be. http://www.nikabot.com/ can automatically collect regular surveys from your team of what they are working on.

Slack is working towards building AI into its product, most notably via its Slackbot and Bots feature, whereby you can program an assistant to reply back and forth with commands where you can either outline the permitted user responses, or allow an x.ai like flexibility and error handling.

The gigantic growth of Slack, and this new announcement, puts Slack in pole position to win the race to the top of enterprise products for the next few years. But, like with any startup, I believe there are some interesting challenges for Slack to be thinking about and fortifying itself for, in the coming years. Here are the questions and thoughts I have.

Challenge 1: Beyond Bots? or Bots as Teams?

If Slack is trying to build itself into being the brain of the organisation, are bots the final path to take? What comes next?

How do we think about the Slack platform offering a collective artificial intelligence to the stakeholders in an organisation?

As an employee or stakeholder, you can embed bot integrations into your teams, to simplify tasks that you would have had to do manually. But I believe that a true enterprise “brain” (if that’s what Slack wants to be) would be more proactive, suggesting improvements to existing processes.

This is about offering a huge increase in ROI to the organisation as a whole, linking together business operations, sales, marketing and other departments as a whole. It’s very different to saving the time of singular Slack users for their daily tasks.

To achieve this, I believe that Slack will have to own the final interface layer to the enterprise. This means building an ecosystem whereby these different bot integrations can work together with each other (despite being independently incentivised 3rd party startups with individual motivations to gain traction). See Node as an example of this type of promise. This way Slack could realistically provide an extremely powerful collective intelligence, or network intelligence, to enterprises.

Challenge 2: What functionalities get embedded into the + Button vs. being handled within the input box?

Right now, the way that a user gets access to app integrations is via the / command in Slack, in the input box. Currently, the best way to access a new integration you may not know about is by typing in /app and performing a search in the input box. Or, if you know the app you want e.g. Lyft, you could /lyft and get access to the services there.

The 3 things within the + button. How will Slack decide if this gets added to/removed entirely? Could you realistically see “Hail an Uber” within this menu?

All the actions currently available within the + button are related to inserting content into Slack. However, I’m excited to see if certain actions that are also core to work (e.g. “Compose an Email”) become placed into that +button, or if the +button disappears entirely (and doing things like file uploads are also handled via slash commands in the input box).

For me this interplay and prioritisation, and the data behind it, would be a fascinating product question.

One thing that I’ve been thinking about, and which is discussed in Jonathan Libov’s incredible Futures of Text article, is how the input box could go beyond just the insertion of text messages or slash commands, to actually offering much more interactive, and reactive “buttons” for specific types of channels (especially if Slack was to consider the “services as channels” or “services as teams” models below).

For example, here is a very rough sketch of how, if talking to a service like chatting to British Airways and were booking a flight for your business trip in a Slack channel, dynamic buttons could appear for you to redeem the coupon offers, or perhaps “add to wallet” if Slack integrated the PayPal wallet. Again, these are just ideas, but I would love to see how the interplay between + button, input box, and “UI within channel” takes place going forward.

This is a sketch where a notification appears from a service that you have won some points, and you could add accept the offer via a dynamically designed button within the input box, or have other unique response buttons appear depending on the service in question.

Challenge 3: How will Slack solve the problem of searching through enterprise history?

I believe that the monstrous growth of Slack as the operating system or command line will largely kill a lot of the “universal interface” apps that are trying to prevent you going from app to app to find what you need. The competition is simply too fierce.

With regards to searching across enterprise apps, a number have tried to solve this and found it tough to achieve what they wanted from a traction standpoint (apps like Treev, Clipcard and Archify).

Others have had some success, including Greplin back in 2011, and Found. Findo is another app doing something similar today.

Luckily, because Slack is business focused, app-switching will still be a problem amongst consumer apps (Facebook M or WeChat are the biggest contenders to own this space). There have been various approaches to this from startups too, notably the keyboard strategies from Snips, ThingThing and Slash, some of which use deeplinking.

Yes, there is still the issue of having to type in /Dropbox or /Drive to get access to your files, when actually it would be better to just /File to get access. Or, let’s say you use multiple calendars — /Sunrise or /GCal are still separate commands, which would be simplified via /Calendar. This “plumbing” problem is big, and I wish someone would solve it.

Slack has in fact already integrated with search add-ons like Xendo, Cloudo, Guru, and Kifi to improve its search experience and the knowledge management problem for enterprises.

However, there’s a bigger issue. Once you’ve indexed everything, how will the search interface look like? What search UI could Slack pioneer or attempt to allow employees to find things in an easier way?

Displaying a list of search results after a keyword search into a text field becomes implausible as your organisation grows, and the need for contextual surfacing becomes more important. Even with special wildcards like from: or to: or :date to try and narrow things down, no company has cracked search to work in a more natural, intelligent, contextual way, where finding stuff isn’t about guessing the right keyword.

Twiddle’s model of search where different nodes are connected

There have been interesting approaches to these types of UI, notably the 3D zoom elements of twiddle. Search UI that looks like a graph database is another very exciting angle. Another is the concept of iterative search, where a user answers “Yes” or “No” to various suggestions the interface offers up.

Graph database search replacing the right hand panel of Slack?
Rough sketch of a Yes or No questionnaire replacing search, where a user can iteratively find what he/she is looking for. Another angle is voice controlled search.

Challenge 4: How will Slack work in organisations of 300+ people, where you don’t know who to reach out to?

I know from working at BoA Merrill Lynch that without a directory or org chart to assist, it was impossible to know the name of the right individual to speak to about a particular project or question.

Currently, Slack’s interface offers a list of usernames to direct message, and the user has the obligation to know the name of the person he/she wants. There is no intelligence to help a user find “someone in Finance who’s dealt with the Yelp account”.

I wonder how Slack is thinking about features that go beyond scrolling down through the 300+ people within your Slack team to find someone to direct message. Perhaps we will start to see people become split between function, relevance or more fine-grained project groups. But we shall see how Slack figures this out in the next year.

This is the Android app. What happens if there are 300+ people?

Challenge 5 — How will Slack create magical interactivity beyond “Cards” within the messaging interface?

I am interested in if Slack will start to allow app developers to design their own cards or movable UI components, that can interact with the user on the messaging interface itself. For example, beyond just images, GIFs, or article snippets, will users soon be able to interact with a Slack insertion just like you perhaps interact with YouTube videos?

For example, could we see date pickers appearing within the Slack interface, or even search boxes magically appearing in the chat itself? Interactive polls are one example of this which Slack has already implemented I believe.

Some sketches — an interactive search box card appearing in a chat channel, or even a date picker.

Challenge 6 — Will Slack consider “Services as Teams”/ “Services as Channels” as potential models?

I was thinking the other day about a service being a team, just like your company is. For example, imagine if you had a button called “Services”, which popped out and offered actions like “Organise Lunch”, “Send Invoices”, or “Set up Sales Meetings”. These buttons would then link you to the apps integrations you might need to fulfill the action. This is completely different to the way Slack works now, using the slash command to access anything. Abstracting apps into being the human actions that you or I would want to perform to get stuff done is something that fascinates me.

A sketch of how something might look on the Android app.

The concept of teams will face a rethink as Slack is used to join any groups people feel affiliation to (e.g. meetup.com). There could realistically be a situation where someone is a member of 50+ Slack teams. How will Slack adapt to handle the UX challenges this brings?

I am only a part of 6 teams, but what happens if this moves to 50+?

Then we have the concept of “services as channels”. Slack’s current UI depends on your channels to be talking to your teams, and directly to members within your teams. To access services, you have to use the slash command within a message channel. However, ever since reading Jonathan Libov’s fantastic Futures of Text article, I was fascinated by the concept of being able to chat message with a company or service directly.

Source: http://whoo.ps/2015/02/23/futures-of-text

Chatting to a service could be like chatting to a sales assistant or customer service. The notifications you received from that channel might even be offers or coupons or rewards the company had given you, or a form of advertising.

A channel to Uber, DHL and Postmates, with each of them like chatting to a sales assistant or customer service rep

The benefit of having dedicated channels for services are twofold: One, context chain maintenance with that service (so it can develop memory and learn from your likes/dislikes), and two, history maintenance, so that it is easier to find previous interactions within that service.

With the current slash implementation, I believe users find it harder to find previous actions performed. For example, I wonder if by having a dedicated Postmates channel to order takeaways to the office, Postmates could remember that normally on Fridays I order in pizzas for the team, and so it could recommend or suggest autofilling my order. This would greatly enhance the Slack experience for users, in my opinion.

Challenge 7 — How will Slack adapt its product for events and public groups and groups of 1000+ people where noise is a new problem?

I am currently a member of a Slack channel called techlondon.io. This is a Slack channel for basically anyone interested in the startup scene in London and what is going on.

I found that because of the huge range of channels, and the freedom for anyone to start their own, I have barrages of notifications and news. This Slack team has become a noisy newsfeed, instead of an interface to intelligently communicate with people and collaborate.

People then get confused on what channel they should post what message, and anyone who gets it wrong can sometimes get a ticking. This confusion on where to put what is something Slack should definitely have a think about.

The techlondon group, with 2400+ members. This becomes more of a newsfeed for me than a team. As you can see, confusion on cross posting or where to post things is common here. I also have unread notifications pretty much every second of the day.

Challenge 8: External interfacing for Slack teams and privacy challenges?

One interesting challenge for Slack is how teams will one day interface with the outside world. An interesting use case is for hiring new people into a company.

If I am a company using Slack, I currently still have to manage my hiring process via emailing candidates back and forth. There are solutions, for example using a Slack email integration, or the Lever integration to bring in my candidates into Slack.

Or, I could create a dedicated team or private Slack channel for individual hires, to perhaps ask them interview questions, ask them about their experience, manage their onboarding before they join and so on. But Slack doesn’t offer a dedicated feature to interface with the outside world.

At my previous startup, the best tool I found for this was Streak. With Streak, I have the context maintained of a pipeline of every contact I have corresponded with, including files shared, events and calls, emails etc. I would love to see how this could be included as a way of maintaining context within Slack. This could be extended even to internal teams.

Streak’s context maintainer within Gmail — this is just one potential hire.

There are some cool Slack integrations I found allowing one to interface with app or website visitors, for example Chatlio and Slaask. But maintaining context around that discussion is still difficult, and Slack could in the future be the product that owns that challenge.

Challenge 9 — Contextual suggestions of relevant files?

One interesting thing a startup called Gluru is working on is contextual suggestion of files or documents, at the right time. I would love to see how this could be embedded into the Slack app.

For example, on my desktop app, I would love to see a right hand panel perhaps whereby if someone says “Have you sent through that invoice?”, Slack’s context panel then pops up with a suggestion for me to upload that into Slack with one click, instead of having to fumble around a file chooser for it.

A right hand panel suggesting files to insert into chat.

Challenge 10 — Rethinking the “Jump To” feature?

This is another subtle point about context. Currently, when you search for an old message and find it, you can “Jump” to the message you found. However, because there only one main chat panel, your chat you were previously on is replaced by the search result. Thus, to go back to what you were working on, or who you were speaking to, there is an element of context switch. I would love to see how Slack thinks of this in the future.

Conclusion

I’m sure many of my ideas aren’t novel, or particularly groundbreaking. However, I am really fascinated by how Slack goes forward to think about and build creative solutions to these problems.

If what people write is true, and Slack really is to be my new operating system, I would hope that it uses its position of power and privilege to try and solve some really hard problems using beautiful UI, AI and innovative thinking.

Any feedback or comments on this post, I’d love to hear them! Also any design thoughts would be appreciated, as I want to produce high-fidelity mockups of the above as the next step. You can follow me on LinkedIn and Twitter. Please also recommend this post if you enjoyed it.