Chrome OS and Electron both start with Chromium and add things. If you're targeting an application to Chrome OS, you can write a PWA for Chromium, and the PWA's Service Worker part will share a lot of code with the part that runs on Node in an Electron app. If you're submitting a patch to Chromium, it would appear in the corresponding version of Chrome OS.
For what operating systems have people submitted Chromium patches that Google rejected on grounds of not applying to a favored OS?
I seem to remember the $15 dollars a month deal for IPTV-only access to HBO (HBO Now) is available only in a few countries. In other countries, viewers must first subscribe to a traditional multichannel pay TV package including other WarnerMedia channels, typically at $40/mo or more, before being allowed to subscribe to HBO.
The confusion over which of the many choices for learning to program environments is a show stopper for most people.
And I'd bet that operating system publishers don't bundle one for fear of having to pay the sort of legal bills that Microsoft incurred when US and EU competition regulators investigated Microsoft for bundling Internet Explorer with Windows. But speaking of that, doesn't every new PC come with a JavaScript interpreter as part of the web browser?
Unless the games are open source and managed by a non-profit, choosing any video game would be an instant profit center for one, and only one, company.
Here's an idea: In any given Games, make the esport the edition of Mario and Sonic at the Olympic Games from four years ago. That way, it's a work over which the IOC still has some stake.
The difference isn't even whether it's athletic or not. It's that nobody owns exclusive rights over team handball or basketball or over the dimensions of a regulation court. By contrast, someone owns exclusive rights over StarCraft or Tetris or whatever form of electronic competition one might consider.
If the regulation were "Buy no more dedicated fax machines, and fill the telephone connector of fax-copiers with epoxy," would you find that practical?
Qt can cover Windows, macOS, X11/Linux, and Android, but what on iOS? I'm told Apple has deliberately made its App Store terms incompatible with the LGPL, the free software license under which Qt is distributed. Would you recommend a commercial Qt license ($500 per developer per year) over making a web application, particularly for smaller shops whose developers aren't working on the iOS version full time?
I fully agree with you that the Slack client is horribly inefficient. But my point is that anything that does the same thing more efficiently in RAM and CPU across all required platforms is ultimately economically unmaintainable.
Hipchat supports all of those capabilities and you can serve hundreds of users from a single server instance that uses less RAM than the client side of Slack.
As of February 15, 2019, the client side of HipChat will use exactly the same amount of RAM as the client side of Slack because of Atlassian's deal with Slack to discontinue HipChat, including licenses for on-premises instances, and migrate all HipChat users to Slack. The server side of HipChat will no longer be available to the public at all, as Slack will host all instances on servers operated by Slack. On-premises users who cannot migrate to Slack will have to export their data and import it to some unspecified competing on-premises chat platform. (Source: "Slack Migration Frequently Asked Questions")
And you said your service was $3/month. If you struggle to pay that, then you should get a job and you could afford unlimited service.
I have a job. I don't struggle to pay $3 per month, but I'd need a better job to pay 20 times that and continue my current level of saving for retirement.
[Non-overlapping connection periods between participants in a conversation] isn't something that occurs with enough regularity to be a problem (I have never seen it happen, my phone is connected 24/365).
My laptop is not connected 24/365, and neither is my phone because I currently don't subscribe to a cellular data plan. They're connected when I'm at home or in range of a hotspot operated by the cable company, but not 24/365.
NAT is the responsibility of your router not the software.
If your ISP puts all residential customers in a neighborhood behind a NAT router, as do the other ISPs in your area, how is your chat application going to accept incoming connections from copies of the chat application run by people who want to start a conversation with you? Because you don't control the router, you can't forward a port.
Building a Windows native app, an Android native app, and an iPhone native app gets you support for three platforms. Building an Electron app, an Android native app, and an iPhone native app gets you support for five, plus (if you do it right) ability for desktop users to try your app without needing to explicitly download, elevate, and permanently install anything.
The hard part about installing yet another native Android app is figuring out what app to uninstall to make room, as not every app allows itself to be installed to the SD card. So I tried installing the app on a different device, a Galaxy Tab A 8" tablet, and got "Telegram will call you in 2 minutes". I was pleasantly surprised at this, as not a lot of services are capable of falling back to a voice call should SMS fail. (Google can, but Twitter can't.)
What would be the most practical way for someone who owns only desktop and laptop computers, not an iPhone, Android phone, iPad, or Android tablet, to use Telegram?
Not at the desired volume at an affordable price. In order to shift all my instant messaging from IP to SMS, I'd need to pay a lot more per month to my cellular carrier than I currently do.
It depends on the plan. The unlimited plan you describe charges more for one month than I pay for cellular service in a year on my pay-per-minute plan. In order for someone on a $3 per month pay-per-minute plan to make room in his budget to upgrade to a $60 per month plan, he'd probably need to cancel home wired Internet. Using cellular Internet as a substitute for home wired Internet is practical only if the $60 per month plan includes unlimited use of the phone as a hotspot, or at least 50 GB of hotspot use per month. Does it? If so, what U.S. carrier?
Failed messages or messages sent to offline contacts are automatically rescheduled for delivery the next time the recipient comes online.
Can the message be delivered once the recipient comes online even if the sender has since gone offline? Or must both be online at once? If the latter, then rescheduling for delivery doesn't help Alice send a message to a group including Bob if Alice and Bob are rarely online at the same time because they live in different time zones. Or would Alice just see a view of the group minus Bob and Bob one minus Alice?
In addition, you didn't mention how you plan to handle network address translation (NAT). Even if Alice and Bob are online at once, if they are both behind an ISP-controlled NAT, establishing a TCP connection from Alice to Bob or vice versa is unlikely to be possible, causing messages between the two to remain "rescheduled for delivery" state forever unless there is some server that can listen for incoming connections from both participants and forward messages from one connection to the other.
I tried the same on the web using the default web browser on and Android device, and after sticking on "Generating keys..." for a minute, it gave me the same error. What steps should I take to correct this error?
If you want to send me a message, you send me an SMS/MMS
How is that practical in a market where cellular carriers charge 10 cents to send each message and 10 cents to receive each message after the first 30 in a month unless the subscriber pays extra per month for an unlimited plan? (Source: T-Mobile) Or a market where many phone lines come without SMS/MMS capability at all? These include POTS lines, VoIP lines, and landline-replacement home cellular lines.
Servers aren't even a requirement (and undesirable for security reasons)
Without a server, how does someone leave a message while you are offline for you to read once you come online, or contact you while you are behind NAT?
It uses more than zero. If you pay for zero, you get zero.
that mobile telco's and ISPs couldn't possible provide that as part of baseline service.
For one thing, they don't. T-Mobile's baseline cellular service ($3 per month) includes 30 minutes or texts and 0 MB/mo of client data. For another thing, accounting for bandwidth on the client side is not enough; you also have to account for bandwidth on the server side in order to allow two NATted users to communicate or two users to communicate if one happens to be offline at a given moment.
[The features that proprietary web chat has over IRC] are all SERVER features.
First, I'd be interested to see what IRC servers support these features. Second, these features still need some sort of client integration, such as to request a particular history range or thumbnail image or to send an attachment, and I'd be interested to see what IRC clients have been customized to integrate with a server that supports these features. I agree that one could create a client to do these that's lighter weight than the existing Electron-based clients, but as of 2018, to the best of my knowledge, no one has.
If I need to discuss in near real-time, chat makes a lot more sense
As I understand Dave Cheney's blog post, someone seeking support for a piece of software rarely needs "to discuss in near real-time." In fact, it might not even be possible if the person seeking support is in a time zone distant from that of the maintainer.
Chrome OS and Electron both start with Chromium and add things. If you're targeting an application to Chrome OS, you can write a PWA for Chromium, and the PWA's Service Worker part will share a lot of code with the part that runs on Node in an Electron app. If you're submitting a patch to Chromium, it would appear in the corresponding version of Chrome OS.
For what operating systems have people submitted Chromium patches that Google rejected on grounds of not applying to a favored OS?
I seem to remember the $15 dollars a month deal for IPTV-only access to HBO (HBO Now) is available only in a few countries. In other countries, viewers must first subscribe to a traditional multichannel pay TV package including other WarnerMedia channels, typically at $40/mo or more, before being allowed to subscribe to HBO.
The confusion over which of the many choices for learning to program environments is a show stopper for most people.
And I'd bet that operating system publishers don't bundle one for fear of having to pay the sort of legal bills that Microsoft incurred when US and EU competition regulators investigated Microsoft for bundling Internet Explorer with Windows. But speaking of that, doesn't every new PC come with a JavaScript interpreter as part of the web browser?
But if Atari declines to participate, the IOC wouldn't legally be able to include Pong.
Unless the games are open source and managed by a non-profit, choosing any video game would be an instant profit center for one, and only one, company.
Here's an idea: In any given Games, make the esport the edition of Mario and Sonic at the Olympic Games from four years ago. That way, it's a work over which the IOC still has some stake.
The difference isn't even whether it's athletic or not. It's that nobody owns exclusive rights over team handball or basketball or over the dimensions of a regulation court. By contrast, someone owns exclusive rights over StarCraft or Tetris or whatever form of electronic competition one might consider.
If the regulation were "Buy no more dedicated fax machines, and fill the telephone connector of fax-copiers with epoxy," would you find that practical?
Qt can cover Windows, macOS, X11/Linux, and Android, but what on iOS? I'm told Apple has deliberately made its App Store terms incompatible with the LGPL, the free software license under which Qt is distributed. Would you recommend a commercial Qt license ($500 per developer per year) over making a web application, particularly for smaller shops whose developers aren't working on the iOS version full time?
I fully agree with you that the Slack client is horribly inefficient. But my point is that anything that does the same thing more efficiently in RAM and CPU across all required platforms is ultimately economically unmaintainable.
Hipchat supports all of those capabilities and you can serve hundreds of users from a single server instance that uses less RAM than the client side of Slack.
As of February 15, 2019, the client side of HipChat will use exactly the same amount of RAM as the client side of Slack because of Atlassian's deal with Slack to discontinue HipChat, including licenses for on-premises instances, and migrate all HipChat users to Slack. The server side of HipChat will no longer be available to the public at all, as Slack will host all instances on servers operated by Slack. On-premises users who cannot migrate to Slack will have to export their data and import it to some unspecified competing on-premises chat platform. (Source: "Slack Migration Frequently Asked Questions")
That's too bad for you then. Most people are connected all of the time.
I see this "I got mine" mentality as part of what's wrong with software publishers' behavior.
My ISP doesn't do that nor have I ever heard of a legitimate ISP ever doing that.
Last I checked, all home ISPs in Myanmar used CGNAT according to Bert64, because there just aren't enough IPv4 addresses to go around. So do 90 percent of mobile ISPs in Europe.
And you said your service was $3/month. If you struggle to pay that, then you should get a job and you could afford unlimited service.
I have a job. I don't struggle to pay $3 per month, but I'd need a better job to pay 20 times that and continue my current level of saving for retirement.
[Non-overlapping connection periods between participants in a conversation] isn't something that occurs with enough regularity to be a problem (I have never seen it happen, my phone is connected 24/365).
My laptop is not connected 24/365, and neither is my phone because I currently don't subscribe to a cellular data plan. They're connected when I'm at home or in range of a hotspot operated by the cable company, but not 24/365.
NAT is the responsibility of your router not the software.
If your ISP puts all residential customers in a neighborhood behind a NAT router, as do the other ISPs in your area, how is your chat application going to accept incoming connections from copies of the chat application run by people who want to start a conversation with you? Because you don't control the router, you can't forward a port.
Building a Windows native app, an Android native app, and an iPhone native app gets you support for three platforms.
Building an Electron app, an Android native app, and an iPhone native app gets you support for five, plus (if you do it right) ability for desktop users to try your app without needing to explicitly download, elevate, and permanently install anything.
The hard part about installing yet another native Android app is figuring out what app to uninstall to make room, as not every app allows itself to be installed to the SD card. So I tried installing the app on a different device, a Galaxy Tab A 8" tablet, and got "Telegram will call you in 2 minutes". I was pleasantly surprised at this, as not a lot of services are capable of falling back to a voice call should SMS fail. (Google can, but Twitter can't.)
What would be the most practical way for someone who owns only desktop and laptop computers, not an iPhone, Android phone, iPad, or Android tablet, to use Telegram?
includes 30 minutes or texts
So then they do provide you with that service.
Not at the desired volume at an affordable price. In order to shift all my instant messaging from IP to SMS, I'd need to pay a lot more per month to my cellular carrier than I currently do.
It depends on the plan. The unlimited plan you describe charges more for one month than I pay for cellular service in a year on my pay-per-minute plan. In order for someone on a $3 per month pay-per-minute plan to make room in his budget to upgrade to a $60 per month plan, he'd probably need to cancel home wired Internet. Using cellular Internet as a substitute for home wired Internet is practical only if the $60 per month plan includes unlimited use of the phone as a hotspot, or at least 50 GB of hotspot use per month. Does it? If so, what U.S. carrier?
Failed messages or messages sent to offline contacts are automatically rescheduled for delivery the next time the recipient comes online.
Can the message be delivered once the recipient comes online even if the sender has since gone offline? Or must both be online at once? If the latter, then rescheduling for delivery doesn't help Alice send a message to a group including Bob if Alice and Bob are rarely online at the same time because they live in different time zones. Or would Alice just see a view of the group minus Bob and Bob one minus Alice?
In addition, you didn't mention how you plan to handle network address translation (NAT). Even if Alice and Bob are online at once, if they are both behind an ISP-controlled NAT, establishing a TCP connection from Alice to Bob or vice versa is unlikely to be possible, causing messages between the two to remain "rescheduled for delivery" state forever unless there is some server that can listen for incoming connections from both participants and forward messages from one connection to the other.
I just tried to sign up for Telegram through web.telegram.org using Firefox on Linux, but I got an error message after I entered my home phone number:
I tried the same on the web using the default web browser on and Android device, and after sticking on "Generating keys..." for a minute, it gave me the same error. What steps should I take to correct this error?
If you want to send me a message, you send me an SMS/MMS
How is that practical in a market where cellular carriers charge 10 cents to send each message and 10 cents to receive each message after the first 30 in a month unless the subscriber pays extra per month for an unlimited plan? (Source: T-Mobile) Or a market where many phone lines come without SMS/MMS capability at all? These include POTS lines, VoIP lines, and landline-replacement home cellular lines.
Servers aren't even a requirement (and undesirable for security reasons)
Without a server, how does someone leave a message while you are offline for you to read once you come online, or contact you while you are behind NAT?
You going to pay for it?
yeah because text IMing uses so much bandwidth
It uses more than zero. If you pay for zero, you get zero.
that mobile telco's and ISPs couldn't possible provide that as part of baseline service.
For one thing, they don't. T-Mobile's baseline cellular service ($3 per month) includes 30 minutes or texts and 0 MB/mo of client data. For another thing, accounting for bandwidth on the client side is not enough; you also have to account for bandwidth on the server side in order to allow two NATted users to communicate or two users to communicate if one happens to be offline at a given moment.
What desktop and laptop platforms are commercially significant other than Windows, macOS, and X11/Linux? Is FreeBSD among them?
[The features that proprietary web chat has over IRC] are all SERVER features.
First, I'd be interested to see what IRC servers support these features. Second, these features still need some sort of client integration, such as to request a particular history range or thumbnail image or to send an attachment, and I'd be interested to see what IRC clients have been customized to integrate with a server that supports these features. I agree that one could create a client to do these that's lighter weight than the existing Electron-based clients, but as of 2018, to the best of my knowledge, no one has.
If I need to discuss in near real-time, chat makes a lot more sense
As I understand Dave Cheney's blog post, someone seeking support for a piece of software rarely needs "to discuss in near real-time." In fact, it might not even be possible if the person seeking support is in a time zone distant from that of the maintainer.