Live data from Hacker News

Rewriting the Slack Python SDK

slack.engineering

11–20 of 59 posts

Re: Rewriting the Slack Python SDK

#11
post #9

Earlier quoted context omitted.

>Don't bother Why not? Theirs has better support behind it and supports everything you listed (RTM api, pagination, async, etc.).

It's API is actually terrible and has bugs which mine don't.

And again, you make statements and don't provide any data to back them up. If there's issues with their API which yours doesn't have then describe or list them.

edit: You also conveniently change your argument once I point out the previous one doesn't hold up.

Re: Rewriting the Slack Python SDK

#12
post #5

I was trying to update my all-in-one duct tape Docker image[0] yesterday and was surprised to see that they ramped up the complexity so much for this release, I had to install a new C library just to be able to compile a dependency of a dependency they added.[1] [0]: https://github.com/underyx/url [1]: https://github.com/underyx/url#5-2019-05-31

Let me get this straight.

All this shit, not for a full app, but for a premade REST API wrapper?

Seriously?

Sounds just about as terrible as the C#/.Net Azure SDKs.

Re: Rewriting the Slack Python SDK

#14
post #9

Earlier quoted context omitted.

>Don't bother Why not? Theirs has better support behind it and supports everything you listed (RTM api, pagination, async, etc.).

It's API is actually terrible and has bugs which mine don't.

yours just has a bunch of print statements, several FIXME's, some weird choices (throwing an ApiError in one case but just printing the error in another), random things like a half baked Emoji enum (make this dynamic) and isn't a library you can pip install.

The code is quite clean though.

Re: Rewriting the Slack Python SDK

#15
post #8
post #6

Earlier quoted context omitted.

I want to remind that Slack is not a simple chat app - it should not be oversimplified, because it has tons of added functionality. Not that you said that but it's easy to fall into that trap. That being said, creating a native app for 2-3 (depends if you include Linux) different OS with completely different frameworks and maintaining feature parity between them involves a lot of specific knowledge and (probably) sep…

> That being said, creating a native app for 2-3 (depends if you include Linux) different OS with completely different frameworks and maintaining feature parity between them involves a lot of specific knowledge and (probably) separate teams. Why do people believe this? It could be written once in C++ using Qt, Juce, or Fltk and be blazingly fast. This has been done thousands of times over the last few decades. Where…

> It could be written once in C++ using Qt, Juce, or Fltk and be blazingly fast.

So, it was written once using Electron and is sufficiently fast.

> This has been done thousands of times over the last few decades. Where does this myth come from?

There are surprisingly few cross platform apps written using these technologies that are fast, functional and have any degree of visual polish.

Re: Rewriting the Slack Python SDK

#16
Happy about this, writing a slack app/bot with the old SDK was often opaque

sc.api_call() with strings for the specific API (there are dozens, each with different inputs) always felt like a temporary ducttape SDK

Re: Rewriting the Slack Python SDK

#17
post #6

It still amazes me that Slack, with its infinite resources, hasn’t built native clients. One code base is nice and all, but man I loathe the Electron app.

I want to remind that Slack is not a simple chat app - it should not be oversimplified, because it has tons of added functionality. Not that you said that but it's easy to fall into that trap. That being said, creating a native app for 2-3 (depends if you include Linux) different OS with completely different frameworks and maintaining feature parity between them involves a lot of specific knowledge and (probably) sep…

They literally have 100s of millions of dollars in cash. What else should they do with that money besides polish their product?

Re: Rewriting the Slack Python SDK

#18
post #8

Earlier quoted context omitted.

> That being said, creating a native app for 2-3 (depends if you include Linux) different OS with completely different frameworks and maintaining feature parity between them involves a lot of specific knowledge and (probably) separate teams. Why do people believe this? It could be written once in C++ using Qt, Juce, or Fltk and be blazingly fast. This has been done thousands of times over the last few decades. Where…

> It could be written once in C++ using Qt, Juce, or Fltk and be blazingly fast. So, it was written once using Electron and is sufficiently fast. > This has been done thousands of times over the last few decades. Where does this myth come from? There are surprisingly few cross platform apps written using these technologies that are fast, functional and have any degree of visual polish.

Neither of these things are true and there is enormous evidence.

First, if it was fast enough, people wouldn't bring up its bloat and speed in every discussion of slack.

Second, there are hundreds if not thousands of programs much more complicated than slack that work exceptionally well and have been made with these GUI libraries. A minimal amount of searching would show this.

Re: Rewriting the Slack Python SDK

#19
post #18

Earlier quoted context omitted.

> It could be written once in C++ using Qt, Juce, or Fltk and be blazingly fast. So, it was written once using Electron and is sufficiently fast. > This has been done thousands of times over the last few decades. Where does this myth come from? There are surprisingly few cross platform apps written using these technologies that are fast, functional and have any degree of visual polish.

Neither of these things are true and there is enormous evidence. First, if it was fast enough, people wouldn't bring up its bloat and speed in every discussion of slack. Second, there are hundreds if not thousands of programs much more complicated than slack that work exceptionally well and have been made with these GUI libraries. A minimal amount of searching would show this.

> First, if it was fast enough, people wouldn't bring up its bloat and speed in every discussion of slack.

You should break out of HN bubble

> Second, there are hundreds if not thousands of programs much more complicated than slack that work exceptionally well and have been made with these GUI libraries. A minimal amount of searching would show this.

And yet, very few of those thousands of programs are cross-platform and just as few of those cross platform ones don't look like they where made by a high-school student on a string budget.

Re: Rewriting the Slack Python SDK

#20
post #8
post #6

Earlier quoted context omitted.

I want to remind that Slack is not a simple chat app - it should not be oversimplified, because it has tons of added functionality. Not that you said that but it's easy to fall into that trap. That being said, creating a native app for 2-3 (depends if you include Linux) different OS with completely different frameworks and maintaining feature parity between them involves a lot of specific knowledge and (probably) sep…

> That being said, creating a native app for 2-3 (depends if you include Linux) different OS with completely different frameworks and maintaining feature parity between them involves a lot of specific knowledge and (probably) separate teams. Why do people believe this? It could be written once in C++ using Qt, Juce, or Fltk and be blazingly fast. This has been done thousands of times over the last few decades. Where…

I can’t think of any applications written using those (or any other, actually) cross-platform toolkits for Windows, macOS, Linux, iOS, and Android that were even moderately successful in the market. Generally, cross-platform UIs are disliked or hated everywhere; sometimes with the exception that they’re considered decent in their one truly native environment and terrible elsewhere. Qt definitely falls into this group.

Can you suggest a couple examples? I’m no fan of Electron, but I don’t see it as being so easily replaced as you seem to be suggesting.

Post reply on HN