• Stars
    star
    188
  • Rank 205,563 (Top 5 %)
  • Language
    C
  • Created about 3 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Apple iMessage client for classic Macintosh (System 2.0 - MacOS 9.2.2)

Messages For Macintosh

Messages for Macintosh is a software suite for classic Macintosh (System 2.0 through MacOS 9.2.2) systems to interoperate with Apple iMessages via a familiar interface, with supporting software running on a newer Mac computer.

messages for macintosh

How to use Messages for Macintosh

There are two setup guides for Messages for Macintosh:

  • the user-facing setup guide, for users not interested in exploring the development workflow. This is the article you want if you just want to use your old Mac to chat.
  • the developer-facing setup guide, which explains how to set Messages for Macintosh up in such a way that you can make modifications to its different pieces

Technologies

Messages for Macintosh is built on a lot of technologies. The READMEs of each of these is each worth familiarizing yourself with if you would like to contribute to Messages for Macintosh:

  • Retro68 - a GCC-based cross compilation env for classic Macintosh systems
  • Nuklear Quickdraw - a heavily modified, classic Macintosh-specific version of Nuklear allowing a simple way to provide GUI services
  • CoprocessorJS - a library that allows us to handle nodejs workloads sent over a serial port to talk to supporting software
  • serialperformanceanalyzer - used to analyze the performance of many different parts of the application during its development lifecycle

Limitations / areas for improvement

Messages for Macintosh is not perfect, but it is usable. Here are some known limitations and things that could be improved:

  • 10 conversations at a time, with the ability to open a new conversation if you know the recipient's address book entry. Nuklear supports scrolling and we could likely add more to the list, but the performance may begin degrading on 68000-based systems.
  • Up to the most 15 recent messages are displayed in your selected chat. No pagination. Nuklear supports scrolling so we could add more messages, but again it may be slow on 68000-based systems if we do that
  • No image / emoji support (although emojis are generally translated to text)
  • Performance can still be improved. We set a good baseline here, but there is still more that can be done. There are lots of traces in the codebase supporting serialperformanceanalyzer if someone would like to take a stab at further improving performance.
  • All updates are based on polling and can sometimes be slow

Pull requests and issues welcome

If you make any improvements or run into any issues, please feel free to bring them back to this repo with pull requests or issue reports. Both are welcome and will help Messages for Macintosh to be more useful in the future.

Animated demo

Here is a short demo of the classic Mac app in operation:

messages for macintosh demo animation

More Repositories

1

imessageclient

send and receive iMessages in a terminal or over ssh
JavaScript
859
star
2

iMessageWebClient

send and receive iMessages on anything with a web browser
JavaScript
239
star
3

imessagebot

Who wouldn't want to iMessage a bot?
JavaScript
92
star
4

roguish

open source, multiplayer, extensible rogue-like
HTML
89
star
5

iMessageModule

A node module for sending iMessages on your Mac
JavaScript
86
star
6

ExecutiveMan

ExecutiveMan, a JavaScript MegaMan clone
JavaScript
81
star
7

FocusedEdit

Classic Macintosh (System 2.0 through 9.2.2) text editor with shared live editing on a modern computer, via serial port
C
52
star
8

TouchPolyfill

Use TouchEvents on Internet Explorer mobile
JavaScript
44
star
9

iMessageService

send and receive iMessages on anything with a web browser
JavaScript
39
star
10

nodeprivatemessageskit

non-functional (for now!) run at using private messageskit.framework in a node app
Objective-C
36
star
11

imessagegraphqlserver

JavaScript
25
star
12

nuklear-quickdraw

quickdraw backend for nuklear (https://github.com/Immediate-Mode-UI/Nuklear)
C
18
star
13

PlexGameLauncher

Emulated Game Launcher for Plex on Mac
C
17
star
14

coprocessor.js

serial-based, nodejs-backed, remote code execution system
JavaScript
11
star
15

no-cuda-pulse

clone of https://github.com/adamian98/pulse that can easily be run without an nvidia gpu
Python
10
star
16

knackhq-client

knackhq node module
JavaScript
7
star
17

YOSPOS-COMMANDER

take command of your favorite funny computer internet forum!
Java
5
star
18

SpaceInvaders

Internet Explorer 6 compatible Space Invaders clone
HTML
3
star
19

uLRS

Node/Express/Mongoose-Powered Learning Record Store
JavaScript
3
star
20

retro68-coprocessorjs-test

testing grounds for a 68k mac remote serial execution app
C
3
star
21

coprocessorjslib

Retro68 C library for communicating with coprocessorjs
C
3
star
22

opsgenieautoacknowledger

JavaScript
2
star
23

TESample

https://github.com/fruitsamples/TESample set up to work under retro68
C
2
star
24

swordfightr

make ansi escaped strings!
HTML
2
star
25

piflare

CSS
2
star
26

imessageninja

hosted iMessage service
JavaScript
2
star
27

ExecutiveManTokenServer

Executive Man token server for integration with UO child activity tracker
JavaScript
2
star
28

casper_scrape_example

JavaScript
1
star
29

tictacwebsocket

tic tac toe using websockets
HTML
1
star
30

xmas

JavaScript
1
star
31

s2c

JavaScript
1
star
32

jspong-empty

HTML
1
star
33

CIS650

Code repository for winter 2015 CIS650 course
JavaScript
1
star
34

campuswriteruo

CSS
1
star
35

serialperformanceanalyzer

provides performance analysis services for machines over a serial port or by tailing a text file
JavaScript
1
star
36

somethingreallyawful

it's really awful
JavaScript
1
star
37

socket_test

JavaScript
1
star
38

somethingreallyawful.firefoxext

the awfullest one
JavaScript
1
star
39

personalsite

my personal site!
HTML
1
star
40

NuklearOnCoprocessorTest

testing out running the nuklear UI with all of the actual processing happening over a serial port
C
1
star
41

UGUIQuickDraw

QuickDraw back end for UGUI
C
1
star
42

somethingreallyawful.safariextension

it extends!
JavaScript
1
star
43

availabilitytrackr

tracks employee scheduling availability
JavaScript
1
star
44

campusreaderwriter

JavaScript
1
star
45

blog

HTML
1
star
46

LVGLQuickDraw

oh joy, more old mac stuff - trying to port LVGL to classic Mac
C
1
star
47

somethingreallyawful.chromeext

it's awful
JavaScript
1
star
48

microui-quickdraw

quickdraw implementation for microui
C
1
star
49

camhenlin.github.io

1
star
50

addressbookreader

reads OS X addressbook entries by phone number or email
1
star
51

csvid3tagger

tag id3 files from a csv
JavaScript
1
star
52

flare

Python
1
star