News for hackers. Stuff that matters.
Re:Electron 3.0.0 by mikhailt on Tuesday September 18, 2018 @06:43PM (#18019936)
It's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do.

If it was so easy as you said, a lot of macOS apps would've been portable to Windows years ago given the market share.

I work for a cross-platform company, Windows is a much more difficult to develop for compared to macOS. You can write a Cocoa UI but what do you do on Windows when you need to support Windows 7 and above? Win32 controls are grossly outdated but the best accessible/consistent experience across multiple versions, UWP controls is limited to Windows 10 and best under MS Store, WPF has been neglected but so far it is the fastest way to develop a GUI. Microsoft has decided to split UWP out of Microsoft Store to bring it to everyone with UWP XAML Islands etc.

The reason Slack prefers Electron is because you can just write the same HTML/CSS front-end, deploy it, and all Slack apps can simply be refreshed to show the newest UI. You cannot do that with native apps at all. You could get around with a few webviews embedded in the native apps but might as well go full Electron.

Re:Electron 3.0.0 by scarface74 on Tuesday September 18, 2018 @07:53PM (#18020422)
It's not writing the native code that's the problem, it's designing the same GUI experience across platforms that's nearly impossible to do.

I don’t want the same “GUI experience” across platforms, I want a GUI experience that is consistent with the platform I am running.

When I was a heavy Mac user, I hated iTunes on Windows because it felt like being on a Mac instead of Windows.

Re:Electron 3.0.0 by h1d on Wednesday September 19, 2018 @12:31AM (#18021680)
You do realize every web apps that you use have a consistent look among all platforms and none of the native looks and I think we're used to that approach of using apps that seeing a 'web like' app on desktop doesn't feel odd anymore.
Re:Electron 3.0.0 by scarface74 on Wednesday September 19, 2018 @10:19AM (#18024330)
How many people use web apps as part of their regular work flow?
Re:Electron 3.0.0 by jhanschoo on Wednesday September 19, 2018 @10:29AM (#18024404)
Gmail, gsuite, Trello, Hangouts, etc.
Re:Electron 3.0.0 by scarface74 on Wednesday September 19, 2018 @12:12PM (#18025251)
I would think that most people who use Gmail as part of their job would use a mail client just like most people who use Office365 for email use Outlook. Considering how much email is done on mobile, I don’t see too many people using gmail on mobile phones on the web.

Do you get notifications for new email from gmail in the browser or meeting reminders?

And all project management software on the web sucks in its own special way. That’s not something to aspire to.

As far as gsuite, I only use Google Sheets for simple stuff but can GSuite really take the place of Office for complex workloads?

Re:Electron 3.0.0 by Spivak on Tuesday September 18, 2018 @09:40PM (#18020972)
This is one of those things that very much matters to hacker types but very little to everyone else. The most important thing about cross platform development is having the exact same application feature for feature pixel for pixel if you can. Someone who knows how to use Spotify on any one platform should be able to navigate any other with 0 cognitive load.

People learn applications, they don't learn systems -- apps have never been consistent enough for that.

Re:Electron 3.0.0 by eschaton on Tuesday September 18, 2018 @09:47PM (#18021006)
Absolutely not the case.
Re:Electron 3.0.0 by Spivak on Tuesday September 18, 2018 @09:51PM (#18021026)
Examples of apps which go the extra effort to use each platforms toolkit and look and behave natively?
Re:Electron 3.0.0 by eschaton on Tuesday September 18, 2018 @10:05PM (#18021092)
The classic example of this was Microsoft Office; they tried to unify the UI and implementation for just the reasons you argue in the mid-1990s and faced a user revolt as a result. Subsequent versions were very much a rewind, with a native Mac human interface on a cross-platform core.

I don’t know how it is now as I haven’t used Office in about 15 years.

Re:Electron 3.0.0 by scarface74 on Tuesday September 18, 2018 @10:06PM (#18021101)
It feels very Mac like today.
Re:Electron 3.0.0 by h1d on Wednesday September 19, 2018 @12:35AM (#18021697)
It only does. Everything seems like some optimized hack of some sort that things aren't as performant as true native apps. Just maximizing the window size feels sluggish.
Re:Electron 3.0.0 by Osiris on Tuesday September 18, 2018 @10:17PM (#18021144)
SourceTree has a native Mac and a native Windows app. I would guess that they are completely different code bases.
Re:Electron 3.0.0 by NathanCH on Tuesday September 18, 2018 @07:57PM (#18020443)
With so many platforms that's unrealistically expensive. It's not just Windows and OS X anymore.
Re:Electron 3.0.0 by kitsunesoba on Tuesday September 18, 2018 @08:39PM (#18020684)
Is having 1-3 Mac guys and 1-3 Windows guys (which is realistically all the vast majority of apps would need) really that much more expensive? To me it seems the real attraction is being able to hire from a giant pool of cheap, generic, interchangeable, fully replaceable developers.
Re:Electron 3.0.0 by orange8 on Tuesday September 18, 2018 @11:42PM (#18021514)
> from a giant pool of cheap, generic, interchangeable, fully replaceable developers

A giant pool? Sorry, not really. JS skills are highly sought after, and finding good, experienced front end developers is very hard. Inexperienced developers are easy to find in any language, including your favorite one, whatever that is.

The "cheap, generic, interchangeable, fully replaceable" part just sounds bitter and vindictive, no need to respond to that.

Re:Electron 3.0.0 by kitsunesoba on Wednesday September 19, 2018 @02:24AM (#18022160)
When compared to the hiring pools for iOS and Android devs, the size of the web front end pool is certainly larger, because that’s what’s currently hot and has the lowest barrier to entry. You’re right that quality is just as hard to find, but given the performance issues that continually plague most modern web apps (with apps like VS Code serving as evidence that it need not be that way), I’m not convinced that quality is the highest priority with these hires.

I will concede that I am a bit bitter. It’s frustrating to watch the industry push ever harder to render specialized developers unnecessary.

Re:Electron 3.0.0 by orange8 on Wednesday September 19, 2018 @03:53AM (#18022557)
If you compare the demand for websites vs mobile apps, we have about a total of 5 million downloadable apps and about 644 million active websites according to netcraft, which can be interpreted as 131 web devs for every 1 app dev. The pool for webdevs should therefore be much larger.

As for quality, correctly accessing a devs level of competence can be very tricky, regardless of the required skill-set. With web devs, its even more tricky because an "over-qualified" desktop/app devs can do just as much damage in terms of technical debt as a poor quality web dev. A webdev is also a specialized developer, but due to the low entry barrier, many don't realize this.

Re:Electron 3.0.0 by eschaton on Tuesday September 18, 2018 @09:48PM (#18021015)
Money people sometimes think so because they’d rather keep that money for themselves, users be damned.
Re:Electron 3.0.0 by mr_toad on Tuesday September 18, 2018 @09:44PM (#18020995)
And Android, and iOS.
Re:Electron 3.0.0 by kitsunesoba on Tuesday September 18, 2018 @10:03PM (#18021083)
You can reasonably easily share the bulk of your mac/iOS/tvOS/watchOS codebases, and apple is actively working to push that percentage higher. So really, you’re not looking at 1-3 “mac people”, but rather 1-3 “Apple people”.

Android dev is messy business, no question there, especially if you care enough about experience quality to test across a broad range of phones, OS versions, launchers, etc. It’s no wonder why the average Android dev team is 2x the size of the average iOS dev team. Not much you can do there but hope Google makes an effort to clean up (and it seems they are, albeit slowly).

Even with all these platform specialists accounted for, companies like Slack and Spotify aren’t hiring any more engineers than they would otherwise. The only difference is instead of hiring specialists, they’re hiring hordes of web front end.

Re:Electron 3.0.0 by eschaton on Tuesday September 18, 2018 @11:02PM (#18021338)
When there were way fewer personal computers and software was much harder to develop and distribute, companies would write software for Mac, PC, Amiga, Atari ST, and even Apple IIgs.
Re:Electron 3.0.0 by Razengan on Wednesday September 19, 2018 @04:10PM (#18027315)
People were making cross platform apps before Electron.
Re:Electron 3.0.0 by CyberDildonics on Tuesday September 18, 2018 @06:49PM (#18019983)
Equating electron and cross platform is a gigantic fallacy.

Qt and other GUI frameworks (like Juce and FLTK) exist and are blisteringly fast. You don't have to package an entire web browser to make something cross platform.

Re:Electron 3.0.0 by chris_mc on Tuesday September 18, 2018 @07:21PM (#18020182)
Qt, or whatever, isn't pretty enough for the designers.
Re:Electron 3.0.0 by kjeetgill on Tuesday September 18, 2018 @07:57PM (#18020440)
I'm more familiar with GTK, but can't you still make it look like anything you want pixel perfect?

I think the real issue is you can't bring all of your javascript/html/css libraries and tooling over.

Re:Electron 3.0.0 by chris_mc on Tuesday September 18, 2018 @11:08PM (#18021362)
I think you're correct.
Re:Electron 3.0.0 by kitsunesoba on Tuesday September 18, 2018 @08:42PM (#18020693)
This is a total non issue with Qt Quick, but I think complete UI look control is a waste of time and effort. It’s wheel reinvention where light brand accents would suffice.
Re:Electron 3.0.0 by CyberDildonics on Tuesday September 18, 2018 @11:00PM (#18021334)
Qt and Juce can be customized to look however someone wants. I don't think it is really so difficult to make images for buttons, change palettes and make sure everything is anti-aliased.
Re:Electron 3.0.0 by h1d on Wednesday September 19, 2018 @12:44AM (#18021726)
To me QT apps look like they came out of some old code base with old UI and web apps look more appealing imo.
Re:Electron 3.0.0 by PurpleRamen on Wednesday September 19, 2018 @02:27AM (#18022172)
How easy is it these days to create web, smartphone and tablet-UIs with Qt and those other frameworks? Cross platform is not limited to desktop anymore.
Re:Electron 3.0.0 by CyberDildonics on Wednesday September 19, 2018 @09:54AM (#18024165)
Both Qt and Juce emphasize mobile UIs heavily.
Re:Electron 3.0.0 by scarface74 on Tuesday September 18, 2018 @10:32PM (#18021205)
In Slack’s case, why an app at all? It already works with browser notifications. The Slack app is a worse experience than the website. It’s a memory and more importantly a battery hog.
Re:Electron 3.0.0 by kennu on Wednesday September 19, 2018 @08:02AM (#18023550)
Biggest problem in web apps, at least to me, is window management. When you switch to Chrome (on Mac), all browser windows come to foreground. I want to keep Slack as its own app so that it stays in the background until needed. I also want to keep it separated in Dock and Cmd-Tab switching etc.
Re:Electron 3.0.0 by scarface74 on Wednesday September 19, 2018 @10:16AM (#18024312)
Would something like this work?

https://fluidapp.com/

Re:Electron 3.0.0 by kennu on Wednesday September 19, 2018 @10:28AM (#18024395)
Theoretically yes, but then you still face other problems when the website has not been designed to be used as a desktop app. Slack's own application offers e.g. an easy way to switch between multiple teams (I have 16).
Re:Electron 3.0.0 by Corrado on Wednesday September 19, 2018 @05:22AM (#18022944)
I really enjoy a separate app as opposed to a browser tab. For one thing I can push it out of the way up in my task bar. I don't live in Slack and only use it occasionally, so it's nice to have it close by but not in my face. Also, the ability to quickly alt-tab to/from it makes it much more accessible for me.

I tried to use the browser version and it works well enough, but it broke my workflow and was distracting. The app has its own set of problems but at least it lets me work the way I want.

Re:Electron 3.0.0 by eschaton on Tuesday September 18, 2018 @09:46PM (#18021000)
You shouldn’t push for the same human interface on different platforms, they all have their own conventions that applications need to fit.

At least back in the 1980s and 1990s, cross-platform toolkits tried to look native everywhere, and that’s why.

Re:Electron 3.0.0 by h1d on Wednesday September 19, 2018 @12:42AM (#18021718)
Have you mailed Google customer support to do so with their Gmail?

Today, web apps are getting to the point that it can functionally be called 'apps' (whatever its definition is) and we're all seeing exactly the same UI from every platform and people seem to be just fine with that.