8 ms·
It's insane that 100MB of ram for a "chat" client is seen as a good result. How did we get there? Is it really that much cheaper to develop desktop apps as slow
by rplnt 9y ago
It's insane that 100MB of ram for a "chat" client is seen as a good result. How did we get there? Is it really that much cheaper to develop desktop apps as slow and bloated web applications?
- Klonoar 9y agoMost people don't seem to grasp that in this day and age, any GUI program (at least on OS X) is going to be minimum 20MB due to the retina display. Add in that realistically you need to use Webkit (or some HTML renderer), at which point... 100MB is pretty good. For reference, an RSS reader I threw together using standard Cocoa widgets will hit 50-60MB with no issues, and that's with my being annoyingly judicious with how it's built.
- zeveb 9y ago> Add in that realistically you need to use Webkit (or some HTML renderer), at which point... 100MB is pretty good. Why do you need an HTML renderer? Slack uses Markdown. emacs-slack is pretty lightweight …
- verandaguy_alt 9y ago>Why do you need an HTML renderer? Because it's objectively easier to do cross-platform GUI development using a single, well-defined and portable API that someone else maintains. That that API is nowadays de-facto WebKit supporting a HTML/CSS/JS stack is a natural, but unfortunate choice, and it's got a much lower barrier of entry and much less maintenance overhead than, say, Gtk+ or Qt.
- Klonoar 9y agoSlack uses Markdown, yes, but supporting everything under the sun that Slack does (especially as they add new things) is just much easier inside a Webview. The job of programming isn't to reinvent the wheel everywhere, it's just to deliver a product that doesn't suck - with native code, you're implementing a native solution for each feature Slack has or adds. Slack's content is web content. You're really arguing that an insane amount of extra engineering time should be spent to conserve, at best, an extra 40-50MB of RAM... and this is disregarding how modern RAM works anyway.
- progval 9y ago> Slack's content is web content. That's the underlying issue. If the "protocol" uses HTML, all clients will need to embed a web view.
- ksherlock 9y agoAnd to think the first WWW browser just used Next's Text view.
- rplnt 9y agoTelegram, which I believe uses Qt, currently sits at 90MB on my macbook. It's not great either, but how much would a "Hello world" Electron app need?
- Klonoar 9y agoTelegram is native code (Swift/etc), not Qt* - at least, depending on which version you're using, and it largely eschews webviews short of one or two places as far as I know. * - Unless you're using the (older, I believe) Telegram Desktop client, which is different from... Telegram.
- opencl 9y agoTelegram Desktop is the current client for all major desktop platforms. The last commit on the repo was yesterday. It does use Qt. And how is Qt not native code? It's C++. The Android client is mostly Java, the iOS client is mostly Objective-C, and there's also an actively maintained web client. https://github.com/telegramdesktop/tdesktop https://github.com/telegramdesktop/tdesktop
- Klonoar 9y agoMmmm incorrect. See: https://macos.telegram.org https://macos.telegram.org Which clearly links source as: https://github.com/overtake/TelegramSwift https://github.com/overtake/TelegramSwift Nobody I know on OS X would use the Qt one as it feels really out of place... I guess if you cared about ricing out your desktop or something.
- rplnt 9y agoOr have consistent experience across platforms. edit: 200MB installer compared to 30MB for the "Telegram Desktop".
- purerandomness 9y agoConsider compressing your graphics (pngnq et al), or use resolution-independend image formats, like SVG.
- elsonrodriguez 9y agoI think ultimately the image has to be represented as a bitmap in memory somewhere, right?
- mtrn 9y agoAs a random data point: As I write this, irssi with perl and xmpp plugins consumes about 6M and never gets slow.
- cbcoutinho 9y agoIt's a chat client that supports rendering HTML as a first-class citizen. The definition of what a 'chat client' _is_ has changed since the days of AIM/MSN messenger/IRC.
- deleted 9y ago[deleted]
- jamesgeck0 9y agoEven AIM allowed basic HTML for profile pages.
- roadbeats 9y agoI used to play 3D games like Midtown Madness 2 in my computer with 16MB ram. Now my iMac with 8GB memory and i7 processor can not handle opening Slack, Chrome and an e-mail app at same time. This is where we are at.
- gusmd 9y agoI agree. At work, one of my projects is a cross-platform scientific C++/Qt application. It is currently open, and with 5 charts (hundreds of data points each) and a full-blown interactive 3D representation of a model, it sits at 160 MB. Seriously, I understand the trade-offs of writing HTML+JS vs. C++, but at some point we must start taking into account the amount of waste (energy, resources) that hybrid apps create.
- qudat 9y agoRAM is cheap, why should we care?
- gusmd 9y agoRAM is not cheap at all. Especially for many of your costumers running on limited resources. Also, a chat app is generally not the "main" application and should strive not to deprive the system of its working memory. But, hey, that's just my opinion. Luckily your users agree with you (looks like many of Slack's don't!).