I am currently an IOS user, however, as the title suggests, I wish to switch to android. This is because I would prefer to use free software and not be locked into the apple ecosystem. That being said I am already locked into apple and would like to know how anyone else here has managed the switch.

I for one know I will face problems regarding group chats with friends and family on IOS, I will lose out on iCloud+ features, I will have to buy a replacement for my HomePod, I will need to replace apple home, etc.

How did anyone else here who has made such a switch replace or solve these issues?

  • deong@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    2
    ·
    1 year ago

    They’re not deliberately breaking it – they just don’t support it. “Deliberately breaking” has the connotation that it would have worked just fine, except they took some extra action to stop it. That’s not true here. It would only work the way people want it to work if Apple spent a lot of money paying developers to make it work.

    • nakal@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I’ve wrote some lines of code and I know when it’s “just being lazy” or doing stuff “the evil way”. Imagine when Apple accidentally restricted join/leave actions in their native chat client. That would be minutes until they fix it. We are talking about years here…

      • deong@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Sure, but one of those things is fixing a bug in the protocol they already use for core functionality, and the other is an entirely new software development project. Adding RCS support to iMessage is adding support for an entirely new protocol. That’s what I’m getting at here. It’s not “broken”. Apple doesn’t have to “fix” RCS support. They have to build RCS support, from scratch.

        This is like saying that Microsoft Windows should be able to run programs compiled for Apple Silicon on Mac OS. That might be a cool feature, and I have no problem with someone saying they think it should happen, but it’s not Microsoft being “evil” or refusing to “fix it”.

        • nakal@kbin.social
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Modern programming requires a common code base and portability. Otherwise Microsoft would never be able to provide Office for macs.

          Apple knows it, they simply don’t care to compile it. Protocols are easy to support. It’s a matter of parsing, encoding and decoding.

          • deong@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            1 year ago

            Otherwise Microsoft would never be able to provide Office for macs.

            Two points here. First, Microsoft has 220,000 employees. They absolutely could support two completely separate sets of Office apps if they want to, and in fact they did exactly that until 2018. They could support 200 separate code bases if they wanted to. Second, at best you have provided evidence that Microsoft uses some common code for Office, and that evidence is just that Office for Mac exists. iMessage for Android doesn’t exist, so there’s no such evidence. If I have a million line Windows app that I wish I could make available natively on Linux, but it’s all Win32 from top to bottom, you obviously can’t tell me that “all modern software requires a common code base and portability” therefore I could easily do it. My code base isn’t common or portable, so what Microsoft did doesn’t help me any.

            But beyond all that, you’ve just papered over a vast amount of complexity by just declaring it doesn’t exist. Most portable apps today are web apps. You can write Electron and it’ll probably run on just about any platform. You could write Java and it’ll mostly run on any platform. But none of Apple’s stuff is either of those things. iMessage is a UIKit app, probably with a boatload of Objective-C behind the scenes and maybe some Swift for the more modern parts. It runs on Macs because of Catalyst, which is emulates the iPad version of UIKit on the Mac. But that’s it. There’s no UIKit for Android. iMessage simply isn’t portable, as far as any of us know. It’s just factually nowhere close to true to say “Apple just needs to compile it”. The frameworks it’s based off of just aren’t there. It’s exactly like saying that Adobe just needs to compile Photoshop as a KDE app. Photoshop doesn’t use Qt or the KDE libraries to do anything. The code just isn’t portable. (Full disclosure I guess, I have no idea if Photoshop uses Qt or not, but it’s a reasonable illustrative example).

            And supporting a protocol isn’t just parsing, encoding, and decoding. HTTP is a protocol. So is IMAP. But you can’t just write a web browser that uses IMAP. The concepts don’t map 1-1 to each other. It’s not like for every HTTP action, there’s a matching IMAP action. You can’t just say, “I’ll just use FETCH instead of GET and everything will be great”. HTTP has redirects, for example. How are you going to make redirects work over IMAP? In the case of iMessage vs RCS, for example, iMessage has the ability to message someone without a phone number. RCS doesn’t. There’s literally nothing in the RCS protocol that makes that possible. So what do you want this mythical compiler to do when you tell it to compile iMessage for Android and use RCS? Should it just core dump if you try to message an email address?

            • nakal@kbin.social
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              We’re talking about basic chat functions that reportedly don’t work like joining and leaving a chat. How does that break for everyone when there is one Android user around?

              I’ve wrote enough code that other devs have ported to machines I couldn’t even think about. If Apple is not able to that I don’t know what they do. There is nothing mythical about supporting phone numbers when you implement that and if you leave out that for Android it still does not justificate to obviously break unrelated functions. No one in the world would develop like this.

              Apple is breaking compatibility deliberately. They are well-known to do this for hardware and for software.

              • deong@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                1 year ago

                It’s software…these are computable problems, and we can solve them with Turing machines. No one is saying Apple is incapable of porting them. I’m saying that it’s work to port them. It’s nowhere near just clicking the compile button in Xcode and having it spit out a binary that speaks RCS or runs natively on Android or whatever. That is work for human programmers to sit down at blank editor windows and start building. Can they do that work? Again, obviously, yes they can.

                Someone could sit down and make Vim interpret my .emacs file. It’s software. Emacs isn’t magic, and the Vim programmers aren’t stupid. We could make this happen if we wanted to. But it’s foolish to say that because it doesn’t work today that “Vim is deliberately breaking Emacs compatibility”.

                If you can’t join or leave a chat, that’s a bug and they should address it. But that’s different than the whole “blue/green bubbles” conversation where people complain about terrible MMS quality and limitations on group chats and all that stuff. Those things happen because Apple currently speaks two protocols: SMS/MMS as a fallback and the iMessage IP protocol as a primary. To solve those problems cross platforms requires a third protocol (RCS), and that’s firmly back in “why doesn’t Vim interpret my .emacs file” territory.

                • nakal@kbin.social
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year ago

                  Please don’t mix everything up. We’re still talking about the same software on different platforms from one single vendor. Apple won’t fix it to avoid competition and try to convince people that Android is bad instead of their very own program.

    • R0cket_M00se@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      They’re one of the most profitable companies around, I think they can hire a couple devs to fix those major issues, it just doesn’t help them (it helps their customers) so they dont.

      If they chose to support it there wouldn’t be any need to buy an iPhone to stop the issue, they want a monopoly and this is a perfect example of the anti-consumer practices they’re willing to sink to in order to facilitate that.