[HN Gopher] Show HN: Messages for Macintosh - a classic Mac iMes...
___________________________________________________________________
Show HN: Messages for Macintosh - a classic Mac iMessage client
Author : camhenlin
Score : 163 points
Date : 2022-02-27 14:58 UTC (8 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| behnamoh wrote:
| Ok but why?
| olliej wrote:
| As with many such hobby projects it's a "why not?". Not every
| project must have some kind of serious "value"
| filmgirlcw wrote:
| This is awesome! I sort of want to dust off one of my old PPC
| Macs and try this out -- tho I'd have to put MacOS 9 on it first
| (I think I've only got OS X on it). What a great/fun little
| project!
| mistrial9 wrote:
| classic Mac coder here -- some experiments might show.. that
| software development is not bad for this 25 year old system.. the
| user experience is calm, cool and collected IMHO. But anyone with
| an interest in graphics will find that even with later "faster"
| models of Mac, the JPEG and PNG decompression will be amazingly
| slow compared to modern times. That is not to say that plenty of
| interesting and modern software will not be useable - it is..
| rather the sheer math and bit-movement involved in quick JPEG
| decompression might come as a shock to phone users of today.
| Overall, very supportive of "OS archeology" here.
| anthk wrote:
| M68k may be slow, but a g3 ppc will be fast enough.
| Wanzy wrote:
| marban wrote:
| I miss Classic box art.
| olliej wrote:
| Yeah, I appreciate a lot of digital distribution but there's
| something nice about the packaging of old non-game software
| camhenlin wrote:
| Yeah! I had a lot of fun gathering up lots of other Classic box
| art and designing the box art for this project!
| sgt wrote:
| Very cool
| rsync wrote:
| Is there a proper API for Apple imessage such that I can create
| imessages from the command line ?
|
| I send SMS with 'curl' commands using my twilio credentials ...
|
| Can I do something similar with imessage ?
| RL_Quine wrote:
| No.
| tambourine_man wrote:
| Unfortunately, there's no way other than what the author used.
|
| Not even through a third party like Twilio
| anthk wrote:
| For iMessage you can use Bitlbee and any IRC client.
| pcan77 wrote:
| This is absolutely awesome, I cannot wait to install it on my mac
| color classic!!
| camhenlin wrote:
| Let me know how it goes! I'm really interested in hearing how
| it goes on some higher end equipment. I personally haven't
| tried anything other than 68000-based systems
| anthk wrote:
| Just 10 conversations? It would be better to use an IRC client
| against Bitlbee.
|
| As for the irc client, use any.
| mikestew wrote:
| I'm not seeing where Bitlbee supports iMessage. Is a plug-in
| needed for that support?
| anthk wrote:
| Bitlbee supports libpurple (Pidgin) plugins. That's how I
| message over Telegram with sic (tiny IRC client) against
| Bitlbee to people using smartphones around.
| filmgirlcw wrote:
| OK, but iMessage isn't Telegram. There are Matrix bridges
| that support iMessage to varying degrees of
| success/features, but I'm not sure if the Matrix feature
| via libpurple would support whatever bridges you have
| configured inside Matrix. It seems like a lot of additional
| work/hypotheticals for something that is just a fun proof
| of concept.
| dagmx wrote:
| You're perhaps missing the point of this.
|
| It's clearly not meant to be something you'd use regularly. It
| looks like an excercise of "let me see if I can do this"
|
| If you're arguing about practicality, then you've already
| missed the boat by a few decades if you're running on this
| ancient OS.
| camhenlin wrote:
| Certainly there's a lot of opportunities for improvement here!
| anthk wrote:
| Yep. This looks a bit clunky. Any old/rusty irc client (even
| the ones for DOS and a 286) will connect to public bitlbee
| servers, where you have several. By typing up 'plugins' at
| its &bitlbee channel (not a typo), you will get the supported
| chat protocols on that server.
| RodgerTheGreat wrote:
| An impressive proof-of-concept.
|
| The UI elements look rather odd. What's the rationale for using a
| custom immediate-mode UI library instead of using the Mac's
| native forms and toolbox routines for them?
| tambourine_man wrote:
| Probably familiarity and ease of development.
| camhenlin wrote:
| Sure, I felt like having a simple immediate mode library would
| make UI programming on old Macs a lot easier. I still think
| that's true after getting the UI library working and having
| used it for a project. I wrote a blog post explaining my
| reasoning here as well:
| https://henlin.net/2021/12/21/Introducing-Nuklear-for-Macint...
| pvg wrote:
| It makes a lot of sense and toolbox programming is a pain -
| it was quite low-level in its day too. The downside is the
| you end up with an app that runs on classic MacOS but doesn't
| look anything like a classic MacOS app. I think that's a
| problem somewhat inherent in the platform - the system-
| provided GUI programming model was primitive but users cared
| about the look/feel of the UI just as much if not more than
| now.
| RodgerTheGreat wrote:
| I'm not sure I'd agree that the Mac toolbox is _primitive_.
| Reflowing forms to reflect a resizable window wasn 't a
| common technique at the time; Macs had a predictable screen
| size and DPI. Abstracting the layout of a form from code
| via a resource was a very forward-thinking approach for the
| day. Among other advantages, fiddling with ResEdit was very
| empowering for users who might not even have access to the
| source code of an application!
| pvg wrote:
| It's not really primitive by intent but it's quite
| primitive in reality because of the drastic constraints
| on the original target platform. So yes, things like
| resources are a place where intent and implementation are
| relatively close but much of the rest of it isn't.
| Consider that System 6/7 are of the same vintage as
| Nextstep and the Nextstep model is still in very wide
| practical use today.
| tambourine_man wrote:
| Cameron, that's awesome, congratulations. I'd love to read about
| the developing process in a blog post.
|
| Now you just need a cool icon to go with your app. You already
| have the box art spot on
| cplusplusfellow wrote:
| Does this mean we could write and iMessage client for Linux?
| rblatz wrote:
| This has the same limitations of every other 3rd party iMessage
| client. It needs a companion app running on a Mac so that it
| can interface with iMessage running on that Mac. Basically it's
| an iMessage proxy/client.
| cplusplusfellow wrote:
| I would love to transition to a Linux for most things but I
| can't give up the ability to text via my mac desktop. It's so
| much faster and I barely suffer a context switch.
|
| Having to stop and pick up my phone to type with my thumb is
| just agonizing. And not everyone I deal with is on slack.
| smoldesu wrote:
| With KDE Connect I can send SMS right from my desktop. It
| ain't iMessage, but I have maybe one or two contacts who
| use it anyways. Anyone who wants more features can message
| me on Telegram or Slack.
| olliej wrote:
| There are obvious problems with bringing iMessage to other
| platforms (basically the standard for any proprietary
| platform).
|
| But a few other issues are these various cryptographic ties
| to things like appleid etc, which are likely harder to deal
| with.
|
| I believe old black hat demos from 5+ years ago when they
| found some protocol flaws were constructing the message
| content manually, but still sending them through the
| messages xpc service (which is afaik responsible for
| wrapping things in protocol goo)
|
| There are other issues as well nowadays: all apple hardware
| for many years has been able to store keys in the Secure
| Enclave (or element? One is for crypto, one is for
| javacard, and I can never remember which), so there'd be a
| loss in security posture relative to apple hardware (I
| would put money on the SE/SEP being more secure than any
| hardware crypto wallet - it's just you can't unplug it, so
| you lose the very real security of an air gap)
| jaidan wrote:
| cplusplusfellow if your contacts transition to the likes of
| Signal [0], you can then message from phone or computer.
| They have software for Windows, Mac and Linux.
|
| [0] signal.org
| camhenlin wrote:
| This package would be pretty trivial to port to Linux, and you
| could make some pretty large improvements running on a more
| modern system
| olliej wrote:
| The problem is you still have to have a Mac to do the actual
| work, but then the M1 mini is fast and reasonably priced so
| maybe could be set up with a cross compiler so you could have
| it doing something else useful rather than being (despite the
| price as a computer being reasonable) a _very_ expensive
| messaging client :)
|
| Obviously assuming linux is your main environment so a single
| Mac wouldn't have additional use otherwise. If you did also
| run a Mac anyway having the proxy/forwarding to any machine
| you were working on would be super nice (similar to text
| forwarding to your desktop so you don't need to get your
| phone all the time)
| camhenlin wrote:
| I built an application for interacting with Apple iMessages on
| classic Macintosh systems via a modern Mac. I've tested the
| software on System 2.0 through System 6.0.8, but it should work
| on Macintoshes running up to MacOS 9.2.2.
|
| In addition to the github repository, I wrote an introduction
| blog post about it here:
| https://henlin.net/2022/02/26/Introducing-Messages-for-Macin....
| I've also outlined the development workflow on to other posts at
| https://henlin.net/2021/12/03/a-simplified-guide-to-developm...
| and https://henlin.net/2022/02/26/Messages-for-Macintosh-
| Develop....
|
| Let me know if you have any questions or decide to try it out on
| your Macintosh, I'd love to hear about it.
| mpolichette wrote:
| I've thought about hooking into messages w/ a running mac
| before... Do you have a high level description of your
| approach? I looked in the iMessage GraphQL Server server repo
| for docs but didn't see anything obvious...
|
| On a quick investigation I noticed you are reading the sqlite
| db... but it wasn't super clear how you send/receive messages?
| camhenlin wrote:
| I'm doing polling the Messages SQLite database to detect
| receiving new messages, and and using built in Messages
| scripting capabilities to send messages. See here: https://gi
| thub.com/CamHenlin/imessagegraphqlserver/blob/main...
___________________________________________________________________
(page generated 2022-02-27 23:00 UTC)