How the Mac didn’t bring programming to the people
eclecticlight.co
eclecticlight.co
The project sputtered when (1) it became clear that it was going to take more than a few months, and (2) Tesler was largely absent after he turned his attention to trying to save the Newton project.
AppleScript was spun out of the Family Farm project, and William Cook's paper [1][pdf] includes some of the history, including its relationship to Family Farm and HyperTalk, HyperCard's scripting language.
AppleScript shifted the focus from creating something that end users without previous programming experience could easily use to application integration. I was a writer who worked on both Family Farm and AppleScript, and I was both surprised and hugely disappointed when AppleScript was declared finished when it was obviously not suitable for ordinary users. I assumed at the time that there had been no usability testing of AppleScript with ordinary users, but Cook's paper claims there was. All this was even more disappointing in light of the fact that so much more could have been learned from the success of HyperCard and HyperTalk, and that the HyperCard developer and champion Kevin Calhoun was just around the corner.
The Wikipedia article on HyperCard [2] gives the history of the product, including the pettiness of Steve Jobs in cancelling it.
The web started as content and got application capabilities over time
This initiative would have been application-first, at the cost of making content less indexable (effectively preventing google from being born)
1. You can't write a BNF for it because its syntax depends on what program you're trying to control.
2. It wants to be "English-like" which means you can always think of 20 plausible ways to express any action, only one of which will actually compile.
(1) frustrates professional programmers and (2) frustrates everybody, so almost nobody uses it.
More importantly it AppleScript operates on sending and receiving messages from those external programs and thus has no insight into their current state/progress unless it's specifically communicated back to AppleScript.
Many programs would just return back to AppleScript immediately after getting a command even if the operation requested took a lot of time. There was no way to register callbacks (at least no obvious way) so you had to put in boilerplate to check for a file at a location to know when a long running process was complete.
The challenge level between writing any two scripts could vary wildly. A program's script dictionary might technically allow you to write a script but actually making it workable or reliable was fantastic amounts of effort.
from ScriptingBridge import SBApplication
notes_app = SBApplication.applicationWithBundleIdentifier_("com.apple.Notes")
for folder in notes_app.folders():
for note in folder.notes():
print(f"{note.name()}\n{note.body()}\n")The first program I was ever able to write that involved things actually moving on a screen came a couple years later and was written on my graphing calculator. Solely because the calculator came with a big manual that documented all kinds of functions you could use in a program. And so long as you were writing only a few pixels at a time its built-in basic language was just barely good enough.
I also got a strong interest in programming 1998/1999-ish and also had only a Mac at home. I emailed the guy who authored a chess application (his email was in the splash screen) over our dial up connection. He told me I would need to learn C or C++ and I had no idea how to act on that (I was 8 or 9 at the time, living in a very rural area).
4 or 5 years later I got my own laptop and installed Linux on it. Then I started learning bash and tried (and failed) to install Linux From Scratch. That did get me to a point where I could program.
This sounds a lot like myself as a kid in the around 1999/2000 after getting my parents' Performa tower as a hand-me-down.
I'd become aware that it was possible to build one's own programs, but exactly how was extremely murky. I grabbed various development tools mentioned on the internet, but as you note tutorials were nonexistent and IDEs, consoles, etc may as well have been ancient tablets written in an archaic language.
Finally I stumbled across REALBasic, I think maybe on a MacAddict shareware/demo disc, which was analogous to Visual Basic in the Windows world (though unlike VB, RB could compile binaries for both platforms). That was far more intuitive… just drag a button onto your window-canvas and double-click the button to edit its code. Examples were also much more common and easy to find on the internet and so before too long I was hitting the ceiling of what was possible in RB.
That segued nicely into Cocoa development when OS X rolled around, which brought Project Builder and similar (but far more extensive) WYSIWYG UI builder with Interface Builder. That took a lot longer to become capable with, but led me to where I am today as a mobile dev.
But: Object Pascal/Delphi is a quite powerful language and you can write really complicated stuff with it, compiled into a relatively small statically linked executable that worked just about everywhere without the need to install anything. (300-400 KB binaries seemed large at the time, little I knew what awaited us 20 years down the line.)
The need to dig and learn everything yourself definitely had some impact and provided some lower level knowledge of things many newer developers don't seem to know or care about, but I very much prefer what we have today where you're not expected to learn to read what looks like ancient Egyptian from scratch to write a basic calculator. Good riddance to those times.
I immediately started working on an ambitious space battle game. I got to the point where you could click to set waypoints for a ship, and it would try to fly a course through them, using Newtonian physics, but the navigation was incredibly naive, and always just accelerated towards the next waypoint, so eventually the ship was going so fast it crossed over the waypoint in a single time step, and would turn round and come back to it, inevitably missing is again, and so basically going into perpetual powered orbit around it. I then abandoned the project.
I only got into actual programming several years later by joining computer course during high school.
I was initially turned off by the visual programming style because it was mind-bending. Now I use it a lot because it is mind-bending and flexes my brain while also being highly useful.
If for some reason I don’t want mind-bending, I can hope into Pythonista and get stuff done. Or thanks to the tight integration, integrate it with Shortcuts.
While Shortcuts isn’t the fastest execution platform, I have plenty of Shortcuts that I don’t have execution time issues with.
Typically, I find that if I’m doing something and it’s taking more time than I’d like, there’s a better way to do it.
I don’t know who thinks about computers in that way. It makes zero sense to me.
By comparison, the early web was much weaker visually, interactively, and programmatically, but the interconnectivity of the web was the killer feature and eventually, the web became the programming platform of the people.
But man, it was really to get up and going with something quickly in Hypercard, and so many of the paradigms that modern web developers are familiar with today, were in place in the late '80s with hypercard. Components, components inside components, components sending and listening to events, programming individual components' behaviors. etc.
My impression is that Microsoft was founded to bring programming to the people, and the Mac was founded to bring great software experience, which I appreciate. But Apple (represented in my mind by Steve Jobs) didn't want his platform to be flooded by crappy software. Even HyperCard never had his wholehearted support (I used it extensively, despite its odd and limited language), and I think Apple was glad to finally dump it.
If you had a reason to write crappy software, as I did, you ended up with Visual Basic. What I mean by "crappy" is software that solves a problem reliably, but can't be scaled. For instance, installation might require help from the author, and entering a bad value might make it crash, but a small handful of tolerant users can handle these issues.
The solution today, with open source, is that the people bring programming to the people.
When HyperCard was introduced Steve Jobs didn't work at Apple. When he came back, he killed it along with many other projects he had no role in, like the Newton.
The Newton had several problems. The first it was intended to be an entirely new platform distinct from the Mac. There was zero overlap between the runtime environments of the two platforms. Nothing you made on a Mac was ever going to run on a Newton. This would stretch already thin third party developers even thinner.
The second major problem is it had cheaper competition with a better market fit in the form of Palm. A Palm Pilot was half the price of a MessagePad and did most of the same tasks. It also actually fit in a pocket which meant it could be carried around and used as intended.
A third problem was its OS was an older model lacking memory protection and preemption. By 1997 it was clear that multitasking protected memory OSes were the future if for no other reason increased stability in day to day operations. Rebuilding the NewtonOS with those features would be a major project.
The MessagePads were bulky and expensive. They were too big to fit in a pocket meaning the only way to carry them was a bespoke case or a briefcase. They weren't that capable so a true road warrior worker was just going to get a laptop. Their target market was John Sculley, executives that didn't want to tote around even bulkier laptops.
The Newton didn't make a lot of sense as a product and killing it off with the rest of the Apple peripherals made complete business sense.
Oh, and the genesis of what we now call the ARM computer architecture was the Newton project.
I was rooting for the Newton but at the same time, I found myself mostly using my Palm Pilot (and later my Handera 330) while my MessagePad sat on my desk unused.
I like the egalitarian nature of the Gates view, but ultimately I think Jobs was correct that the mere existence of low-quality software hurts your entire platform, and no amount of high-quality software can completely offset this.
Basically, the Gates view was the more "correct" one for the 1980s/1990s. At that time, most people did not own personal computers, even many businesses didn't, and growth came from on-boarding these non-users. The more apps available on your platform, the more likely a non-user would be to see a reason to buy a computer at all. Also, the platform Gates was selling was much cheaper to try.
Today, everyone owns at least one computing device. Platforms aren't competing for non-users (there are none left), they are competing for users of other platforms. The Jobs view works better in that world since it improves platform quality perceptions.
If your need was niche then go away.
Saas is the computing equivalent of an airline, and it's very popular, but it hasn't fully displaced individual computer ownership. We'll see what happens long term.
The writing is on the wall though, isn't it? Even companies that you'd expect to go all-in on user freedom and ownership have locked down their platforms and ratcheted up the service offerings. Not a single FAANG company is willing to take a definitive stand in defense of their users. They all just see a bottom line waiting to be butchered.
And for most users, I'd wager SaaS has displaced computer ownership. Stuff like the App Store, Play Store and even game consoles are ultimately a service unto themselves. Even disregarding that, the "happy path" of modern software is paved far away from user empowerment. People are generally more willing to pay for a subscription than to switch to a more convenient hardware platform.
I'm really not sure. Five years ago, I thought that SaaS would completely replace local computing. Now, I'm less certain.
Yes, SaaS is very popular and there are far fewer local applications now. However, there still seems to be some value in local applications because it's thought to be a better end user experience. Look at Slack. It started out as a website, pure browser-based SaaS. Over time they developed a local app, which is basically the same Javascript but packaged up as a local Electron app. This seems to be regarded as superior to the web version for most people.
Consider Zoom. There was initially a native client and an equivalent web version. They seem to be actually killing off the web version now -- access to it is a non-default option for the meeting creator, buried on a screen with 100+ meeting settings nobody understands or reads. They apparently want to be a local-only program.
As long as there is demand for local apps, people will continue owning general purpose, re-programmable microcomputers. Maybe the vendor can lock you out of some low-level stuff like Intel ME or the BIOS, but these platforms are still allowing people to download a compiler and run their own programs directly on the metal.
I'm not sure what direction it will ultimately go, but my hunch is that if it were possible for SaaS to 100% displace local computing, it would have already happened.
To counter that though, I think we have to define SaaS concretely and ask what a more service-driven world would look like. I consider SaaS to not only be the paid components of an OS, but also the "free" services like Google and the App Store. Holistically speaking, our OSes are saturated with services; Find My, Android Notify services, OCSP/Microsoft/Google telemetry, online certificate signing, and even 'assistants' that fail to assist without internet. What more could we possibly put online?
It's a bit of a rhetorical conclusion to leave things on. I'll certainly see worse examples in my lifetime, but the status quo is bad enough in my opinion.
Anyway, sure, let's leave it there and see where things are in 5 years. It'll be interesting to find out!
That is wrong on so many levels. I grew up in a Windows environment in the '90s tro '00s and had the best video games in the world at my finger tips, while Mac users at the time had what, some high quality photo editing software? Good for them I guess.
So unless you don't count video games as software, Gates was right. DOS and Windows being the main platforms for the hottest videogames of the moment, was what led to the popularity of the PC over Macs at the time. I think Doom alone was responsible for millions of PC and MS-DOS sales.
Yeah, Job's Next-Step machines and SW were cool, UNIXy and all, but to what end if nobody but the wealthiest businesses and institutions bought them in numbers you can count on a few hands? In fact, Jobs understood from the fail of the Next-step and the success of the DOS-PC that you need to get your devices cheaply in the hands and homes of as many casual consumers as possible (hence the success of the colorful and affordable iMac G3) and forget the premium business workstation market.
This focus on high-quality software has also encouraged _better_ software developers to build in Apple's ecosystem. Even today a lot of the best software is only available for Mac or iPhone.
We were talking about the past. And back in those days when computers were expensive, most people and companies were writing SW for the most popular platform out there, which at the time was watever had the best bang for the buck thjat home users could afford: Coomodore, Sinclair, Amiga, MS-DOS, etc.
>Even today a lot of the best software is only available for Mac or iPhone.
Again, we are talking about the past. TikTok might be the hottest app today, but back then it was Doom.
1% of the whole games industry is available for Mac and there are amazing pieces of software just there.
It's kinda like
https://www.goodreads.com/quotes/72745-the-reason-that-the-r...
but the psychology is weirder in that rich people know a "luxury" watch costs upwards of $10k so it is quite the trick to convince the hoi polloi that a $500 watch is a luxury device at the same time.
I've noticed also that poor folks are also very aware of expensive wireless plans from Verizon but seem to have little awareness of wired internet plans, free Wi-Fi, etc.
Rich people on the other hand usually did not get rich by saving money.
Maybe take care of your Android as you would an iPhone and it will also last as much as an iPhone, but at 1/3 the cost.
Most people (worldwide) are not spending 1k on a phone, even 300 is a lot.
I've had roughly five Android devices (tablets and phones) that had the curious problem that I'd plug them into a charger and it was always 50-50% if they would actually charge. This would happen when the devices were new and were starting from zero (often it would take several times to charge the device for the first time) and still happens when the devices are in regular use. All the time I leave one plugged into the charger over night and... nothing. Plug it into the same charger again and maybe it charges.
I've noticed the same problem w/ Sony devices both cameras and the PS Vita if they are used with non-Sony chargers.
However, it doesn't change the main point, most phone users care about updates on their phone as much as they care about updating any other device with a CPU in their home.
Yes, kernel vulns will always be uncovered, but how often does the average user encounter malware that exploits that attack vector?
The biggest attack vectors on Android are Google Play services and your browser. Keep those up to that and you're good even with older phones.
Most people don't keep a phone that long but change it after 4-5 years or so. How many 5s still exist in the wild?
Apple's machines were the most expensive, but it wasn't because they were higher quality (that was not the general perception outside the Apple world). It was because Apple refused to allow clone makers into the market, so they were manufacturing in tiny volumes compared to Dell and Compaq and a million other random names like Packard-Bell (Sear's store brand PC) that probably no one remembers.
> Even today a lot of the best software is only available for Mac or iPhone.
I really don't see that at this point, and I do use my Mac every day. Most of the software I use is also available on Windows and Linux, and anything that isn't has a clear Windows or Linux equivalent.
The only software I use that is absolutely only available on a single platform with no equivalent is actually Windows software. I'm not a gamer, but that's apparently a whole category that is Windows-only.
I'm curious what Mac software you use in 2023 that is only available on Mac.
Not anymore, really. Proton has done an amazing job at making the huge library of Windows games out there work on Linux, so at this point it's a pretty good contender. (Hence the popularity of the Steam Deck.)
I have a library of ISO oldies that won't "just work" on Linux without a shit Tonne of googling and fiddling around.
Ulysses, Bear, Things, Reeder, Mela, Alfred, MindNode, just to name a few. These apps are incredibly well designed, and have no equivalents in the Windows or Linux worlds. I know because I also have a PC and I’ve looked very hard for replacements.
Additionally, apps like 1Password, Scrivener, iA Writer, and Arc Browser started their life on the Mac. Some social media networks, like Instagram and VSCO, were iPhone apps before they released on other platforms. Because Apple users are generally not averse to spending money on software, all the really good software reaches the Mac and iPhone a long time before it becomes available on other platforms.
iCloud itself is something that no other platform can compete with. I never have to create a separate account for any app in the Apple ecosystem because they just sync using iCloud without me doing any extra work. When I install them on my phone later, my data is already there. The Windows/Android world have no equivalent of this.
Apps really are better in the Apple world. I blame Microsoft for underinvesting in native Windows UI toolkits.
As I say in another comment, I think Gates's view was right for that time. The Jobs view was needlessly limiting the potential market for his machines. Gates didn't make the machine, but he was making a thing that was sold with every machine, and he understood that more apps means more reasons why people might want to buy a PC.
One problem with the Gates view today is that if you make it easy for anyone to write and distribute any kind of app, you end up with not only a lot of low-quality software but even negative-quality software like ransomware and malware. It's surprising that so many people want to write that stuff, but apparently they do. Every modern platform, including Windows, has gone to extreme lengths to block this stuff, even though the more laissez-faire approach would be to just ignore it and assume other 3rd parties will write programs to block it. The problem was that malware was an existential threat to the entire Windows platform, and Microsoft couldn't afford to just let the market sort that one out.
I believe the Jobs view is the correct one for the present era. Every platform has app stores, code signing, DRM, and other kinds of security and non-security restrictions. It's certainly easier to run random code on Windows 10 than macOS Ventura (or especially iOS), but no platform vendor is completely app neutral these days.
Not that there wasn’t innovation on the Mac, but not as much, and often in the end, not as successful.
Much better is a genuine permissions system that the user controls and the apps can't circumvent.
The reason closed app stores are so popular isn't because of security but because everyone wants a finger in that sweet 30% take pie.
Gates's view was also that, once the market had sorted the good from the bad, Microsoft would, if desired, just implement whatever killer apps third party developers had discovered and make them part of Windows, cutting the floor out from under the third party developers. In other words, Gates viewed third party developers as doing market research for Microsoft that Microsoft didn't have to pay for.
> ultimately I think Jobs was correct that the mere existence of low-quality software hurts your entire platform
Windows is still well ahead of both macOS and iOS in terms of market share, so I think it's more that Jobs and Gates had different definitions of success.
https://en.wikipedia.org/wiki/Usage_share_of_operating_syste...
All platform vendors seem to do this, which is unfortunate.
Reminds me of how Amazon sees third-party sellers.
Maybe that is the standard abusive strategy of platforms that hold a dominant market position.
At my work, I similarly have gotten secure administrative workstations deployed with again, very limited lists of software. These users being compromised has such extreme consequences that one cannot trust any application to run on these computers.
So I can certainly appreciate the need to be very exclusive with the software allowed on a device. Yet I see this exclusivity being rather anti-consumer in practice. iOS is the most secure operating system I've ever seen for the average person, and yet things like adblocking are behind a paywall. Neutering Adblock for the sake of security is considered acceptable. Blocking alternatives to WebKit may reduce the overall attack surface area Apple contends with and it also limits the functionality of the phone since v8 is the de facto standard. Blocking alternatives to the App Store absolutely enhances security while also forcing consumers to pay more. Then you get into things which have nothing to do with security truly, like how you can only make "Music" your default music player on iOS, not Spotify.
I really appreciate what Windows did with "S mode" because it's optional yet provides benefits to consumers in niche situations. I similarly appreciate the enterprise features of Windows to configure a laptop which has limited access to software to enhance security. Apple on the other hand forces the exclusive use of their software to benefit themselves at the expense of their customers. It is unacceptable and I would vote for anybody pledging to outlaw it as monopolistic abuse. Software exclusivity is useful, shoving it down people's throats is abhorrent.
Are you referring to iCloud Private Relay?
I mostly disagree with this, so long as the low quality software isn't pushed by the platform then it's not that much danger to the reputation. Lack of quality software is a much larger danger, and it's not easy to tell ahead of time where the quality will come from. The big problem is when you are running your own app store and it becomes packed with garbage.
Why do you think that? I was not around in that period, but the impression I get is that the foundation of Microsoft[0] was antithetical to "bringing programming to the people".
[0] https://en.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists
Microsoft's first product was a BASIC interpreter. It was all about bringing programming to the masses. Saying "to the people" implies some kind of empowerment, and I don't think that was ever quite as much a part of Microsoft's identity (although it was there in some form). "To the masses" is a better way to describe it in my opinion.
The way I accessed BASIC was to boot up PC-DOS (IBM-branded version of MS-DOS) and then run some program that was like QBASIC although it might not have been called that yet. Later I switched to MS-DOS 3.21, and that came with real QBASIC. I also switched from BASIC to Turbo Pascal and Turbo C. Great times!
The tools for programmers have remained a major part of their products during the MS-DOS era, until the early nineties. The documentation for their compilers and libraries was excellent and many people have learned much about programming from the Microsoft manuals (or from reverse engineering their programs).
Only after the transition to Windows and their success in suppressing the competition for MS Office by their control over the development of the operating system, the programming tools business has progressively become only a small part of the Microsoft products and the programmers only a small part of their customers.
Nobody ever thought they'd do that for free (except when they used piracy as a form of dumping, by turning a blind eye to it when convenient).
[1] at that time, electronics used a lot of lead, cadmium and mercury. It's less of an issue now.
Jobs wanted to make an appliance for the masses . That’s why the Apple II had a case and wasn’t just a bare circuit board like the Apple I.
They were both founded to make money. Microsoft was never close to the people and the "great software experience" on the Mac, if it existed, was limited to rich people.
Personal computers were expensive by middle class standards [1], and the sweet spot was educated professionals like doctors and lawyers because they could afford it and it was interesting/useful to them and their families. A rich person who inherited an oil fortune would have been able to afford it, but not interested. A teacher would have been interested, but unable to afford it.
[1] At a time when a decent, no-frills used car would have been around $1,000, you had something like this: ~$700 for a more limited VIC-20 or Z80-based machine, ~$2,000 for a PC-clone, and maybe double that for the Macintosh. For most buyers, it was a big but not impossible expense.
Also, at that time, there was not this extreme divergence in income that you have today. A lawyer might have made more money than a police detective, but the difference wasn't really that extreme and often these two people lived in the same neighborhood. Since that doesn't seem to be true anymore, it makes sense that the definition of "rich" has shifted.
Officially, their dev tools cost money. Here is the 1997 pricing for various versions of Visual Basic 5.0 and Visual C++ 5.0 in 1997: ($99, $499, $1,199)
https://www.itprotoday.com/windows-78/microsoft-sets-pricing...
Unofficially, almost nobody ever paid for that stuff in my experience and it was ridiculously easy to get for "free." As was the norm in those days there was zero copy protection. You could sail the pirate seas, you could buy one "legit" copy and share it with the whole org, you could get the MSDN subscription and get "evaluation" editions of literally their entire dev tools catalog on a big stack of CDs with zero limitations besides the legality of the situation. I'm sure that with minimal effort it was easy to get a hold of Mac dev tools for free as well. But Windows was so ubiquitous, as was "free" Microsoft software, and you could build a nice little PC for cheap.
I always wondered why Microsoft charged for that stuff in the first place. Were they actually making money on it directly? Did they sort of want to give it away for free, but were wary of antitrust implications?
Apple had a different strategy. Perhaps this is an incorrect perspective it seemed like they just didn't care about independent garage and small business developers. They left things up to 3rd parties. In a lot of ways this was better -- it probably led to a richer ecosystem? For example, looking at the Microsoft strategy, it's not hard to see that they drove Borland into the grave.
It always felt to me like there was a culture of openness in the world of Microsoft in a way that didn't exist in Apple culture. You gotta pay for dev tools to use dev tools on a Mac. You want an FTP client on a Mac? Buy Cyberduck or Fetch. My impression of Apple was that everything was proprietary and had a price. Whereas I could cobble a computer together that ran Windows, there was oodles of shareware and freeware as well as professional tools. You have full access to the registry and file system in Windows, and you could very easily hack the bejesus out of the OS if you wanted to. It was great for tinkering. Everything was backwards compatible - the point where I had Windows 10 running on a 2005 era Dell laptop that had come with Windows XP, and I had managed to upgrade legitimately without paying (I think the Windows 8 beta converted into a full Windows 8 upgrade, free).
Today, I'm typing this from a 2021 Macbook Pro with USB-C ports - when I travel for work, I bring one charger, and it charges my laptop, my phone, my earbuds, even my mirrorless camera. When I need software, I can usually find something using Homebrew. The value you get for your money on a Mac is much better, but it's still a steep barrier to entry, IMO - even though I'm in a much better position today, and bought this without breaking a sweat. There's a lot of tinkering-related things I miss about the Microsoft ecosystem, but I've largely moved out of the weeds for my day to day work on a computer. All the software I was using on my Windows machine is multi-platform now, and the performance and battery life on these Apple native chips is hard to ignore. As a developer, it's just as simple, if not easier now, to build on Macs - ever since OSX opened up the Linux ecosystem to these devices. That, in conjunction with superior hardware, finally convinced me to switch after at least three decades of being staunchly Microsoft.
The value you get for your money on a Mac
is much better, but it's still a steep barrier
to entry, IMO
Is it that steep? A refurb M1 Macbook Air straight from Apple with 1 year of AppleCare is $850. $1,189 if you want 16GB + 512GB.That is more money than a lot of people can afford, especially outside of the US.
But boy, it's so much cheaper than ever. That's like, two Xboxes (+ controllers + a game or two) so it feels within the reach of a broad swath of the population.
Admittedly... you can get a nice-enough Windows/Linux developer desktop or laptop with a little Craigslist or FB Marketplace effort for like, $150.
Microcomputers greatly expanded private access to computers, and Microsoft brought programming to microcomputers.
Apple did develop a native version of Basic that let you create Basic programs that took advantage of the Mac UI, but Microsoft forced them to cancel it as a condition for continuing to license their Basic for the Apple II.
> Apple's original deal with Microsoft for licensing Applesoft Basic had a term of eight years, and it was due to expire in September 1985. Apple still depended on the Apple II for the lion's share of its revenues, and it would be difficult to replace Microsoft Basic without fragmenting the software base.
Bill Gates had Apple in a tight squeeze, and, in an early display of his ruthless business acumen, he exploited it to the hilt. He knew that Donn's Basic was way ahead of Microsoft's, so, as a condition for agreeing to renew Applesoft, he demanded that Apple abandon MacBasic, buying it from Apple for the price of $1, and then burying it.
He also used the renewal of Applesoft, which would be obsolete in just a year or two as the Mac displaced the Apple II, to get a perpetual license to the Macintosh user interface, in what probably was the single worst deal in Apple's history, executed by John Sculley in November 1985.
https://www.folklore.org/StoryView.py?story=MacBasic.txt
So in the case of the Mac, Microsoft used anticompetitive pressure to keep programming away from the people.
I think the idea that Microsoft or Apple were founded for any reason but money is pretty much a joke. Every action and reaction in the story revolves around money and how to get it.
Did you miss the part about Microsoft threatening the hardware line that produced the vast majority of Apple's profits at the time?
It sounds to me more like the priority was not having their profitability decimated.
They killed a Mac native version of Basic that had been completed because Microsoft forced their hand.
>The fact they let MacBasic slip from the launch window is a pretty big red flag,
As mentioned in the article, they needed to wait for the system APIs to stabilize.
> Basic still had a hard time getting traction, especially since the system was evolving rapidly beneath it.
Did you miss the part where I said what everyone did here was motivated by money?
>It sounds to me more like the priority was not having their profitability decimated.
See above.
>They killed a Mac native version of Basic that had been completed because Microsoft forced their hand
See above.
>As mentioned in the article, they needed to wait for the system APIs to stabilize
See above.
Did you miss that part?
—
Sorry for seeing humor in your non-response repeating refrain, and then adding my own poor attempt at humor.
But, what you wrote was obviously read.
And responded to directly with a good point that you seem to have missed twice now.
By 1984, "boots to BASIC" was reserved for low-end kit: C64, Atari XL, and increasingly Apple II. The IBM PC and clones were rapidly defining what a high-end personal computer was, and for them, the BASIC was an useless appendix (Casette BASIC on IBM kit) or a bullet point at the back of the pack-in software list (BASICA/GWBASIC)-- it might be there, but commercial boxed software was the primary selling point.
Maybe the phrase "to the people" is confusing things because it suggests some kind of noble, high-minded motivations on the part of Gates. That wasn't how Gates (or Jobs) thought. Actually, the whole idea of a company having some social responsibility mission was not something that existed at that time. These guys wanted to sell a product that people would pay money for, that's all. In that era, this was perfectly socially acceptable and completely normal.
The statement "Microsoft was founded to bring programming to the people" is true, but it may be a little unclear if people are reading it as suggesting something other than the profit motive. However, for a long time, Microsoft really did view its own success as dependent on providing customers ways to write and sell their own software. That is in fact empowering to the customer. I'm pretty sure Gates did care about this because it was what was driving sales of his products.
They created a Mac native Basic at launch, and only Microsoft's anticompetitive arm twisting kept if from being released.
Wow, that almost makes me want to cry.
I discovered personal computers when the computer basically felt like a programming language.
I might be wrong, but if a friendly language installed on every computer out of the box had held, the evolution of “people’s” languages might have been a huge thing to this day.
Further up this very thread is a link from a first party source that refutes that entirely.
And, we have no idea what Donn's BASIC was actually like ... it probably wasn't "Visual Basic", or even a platform. Just better than Microsoft's halfazz port of their micro basic. (which did have some quickdraw commands.)
We literally know exactly what it was like. Dartmouth was already using a late beta of the software for a Basic class when Microsoft forced Apple to cancel the release of the final version.
Although the Folklore article says there were two books describing Donn's BASIC, I believe there were at least three: Introduction to Macintosh BASIC, Using Macintosh BASIC, and The Macintosh BASIC Handbook. All three are available at vintageapple.org [2].
> Gates and others at Microsoft had gone on the record repeatedly saying they intended for Windows and the Macintosh to be sufficiently similar that they and other software developers would be able to port applications in short order between the two. Few prospects could have sounded less appealing to Sculley. Apple, whose products then as now enjoyed the highest profit margins in the industry thanks to their allure as computing's hippest luxury brand, could see their whole business model undone by the appearance of cheap commodity clones that had been transformed by the addition of Windows into Mac-alikes. Of course, one look at Windows as it actually existed in 1985 could have disabused Sculley of the notion that it was likely to win any converts among people who had so much as glanced at MacOS. Still, he wasn't happy about the idea of the Macintosh losing its status, now or in the future, as the only GUI environment that could serve as a true, comprehensive solution to all of one's computing needs. So, within weeks of Jobs's departure, feeling his oats after having so thoroughly cowed Digital Research, he threatened to sue Microsoft as well for copying the "look and feel" of the Macintosh in Windows.
> He really ought to have thought things through a bit more before doing so. Threatening Bill Gates was always a dangerous game to play, and it was sheer folly when Gates had the upper hand, as he largely did now. Apple was at their lowest ebb of the 1980s when they tried to tell Microsoft that Windows would have to be cancelled or radically redesigned to excise any and all similarities to the Macintosh. Sales of the Mac had fallen to some 20,000 units per month, about one-fifth of Apple's pre-launch projections for this point. The stream of early adopters with sufficient disposable income to afford the pricey gadget had ebbed away, and other potential buyers had started asking what you could really do with a Macintosh that justified paying two or three times as much for it as for an equivalent MS-DOS-based computer. Aldus PageMaker, the first desktop-publishing package for the Mac, had been released the previous summer, and would eventually go down in history as the product that, when combined with the Apple LaserWriter printer, saved the platform by providing a usage scenario that ugly old MS-DOS clearly, obviously couldn't duplicate. But the desktop-publishing revolution would take time to show its full import. In the meantime, Apple was hard-pressed, and needed Microsoft -- one of the few major publishers of business software actively supporting the Mac -- far too badly to go around issuing threats to them.
> Gates responded to Sculley's threat with several of his own. If Sculley followed through with a lawsuit, Gates said, he'd stop all work at Microsoft on applications for the Macintosh and withdraw those that were already on store shelves, treating business computing henceforward as exactly the zero-sum game which he had never believed it to be in the past. This was a particularly potent threat in light of Microsoft's new Excel spreadsheet, which had just been released to rave reviews and already looked likely to join PageMaker as the leading light among the second generation of Mac applications. In light of the machine's marketplace travails, Apple was in no position to toss aside a sales driver like that one, the first piece of everyday Mac business software that was not just as good as but in many ways quite clearly better than equivalent offerings for MS-DOS. Yet Gates wouldn't stop there. He would also, he said, refuse to renew Apple's license to use Microsoft's BASIC on their Apple II line of computers. This was a serious threat indeed, given that the aged Apple II line was the only thing keeping Apple as a whole afloat as the newer, sexier Macintosh foundered. Duly chastised, Apple backed down quickly -- whereupon Gates, smelling blood in the water, pressed his advantage relentlessly, determined to see what else he could get out of finishing the fight Sculley had so foolishly begun.
> One ongoing source of frustration between the two companies, dating back well into the days of Steve Jobs's power and glory, was the version of BASIC for the Mac which Microsoft had made available for purchase on the day the machine first shipped. In the eyes of Apple and most of their customers, the mere fact of its existence on a platform that wasn't replete with accessible programming environments was its only virtue. In practice, it didn't work all that differently from Microsoft's Apple II BASIC, offering almost no access to the very things which made the Macintosh the Macintosh, like menus, windows, and dialogs. A second release a year later had improved matters somewhat, but nowhere near enough in most people's view. So, Apple had started work on a BASIC of their own, to be called simply MacBASIC, to supersede Microsoft's. Microsoft BASIC for the Macintosh was hardly a major pillar of his company's finances, but Bill Gates was nevertheless bothered inordinately by the prospect of it being cast aside. "Essentially, since Microsoft started their company with BASIC, they felt proprietary towards it," speculates Andy Hertzfeld, one of the most important of the Macintosh software engineers. "They felt threatened by Apple's BASIC, which was a considerably better implementation than theirs." Gates said that Apple would have to kill their own version of BASIC and -- just to add salt to the wound -- sign over the name "MacBASIC" to Microsoft if they wished to retain the latter's services as a Mac application developer and retain Microsoft BASIC on the Apple II.
> And that wasn't even the worst form taken by Gates's escalation. Apple would also have to sign what amounted to a surrender document, granting Microsoft the right to create "derivative works of the visual displays generated by Apple's Lisa and Macintosh graphic-user-interface programs." The specific "derivative works" covered by the agreement were the user interfaces already found in Microsoft Windows for MS-DOS and five Microsoft applications for the Macintosh, including Word and Excel. The agreement provided Microsoft with nothing less than a "non-exclusive, worldwide, royalty-free, perpetual, non-transferable license to use those derivative works in present and future software programs, and to license them to and through third parties for use in their software programs." In return, Microsoft would promise only to support Word and Excel on the Mac until October 1, 1986 -- something they would certainly have done anyway. Gates was making another of those deviously brilliant tactical moves that were already establishing his reputation as the computer industry's most infamous villain. Rather than denying that a "visual display" could fall under the domain of copyright, as many might have been tempted to do, he would rather affirm the possibility while getting Apple to grant Microsoft an explicit exception to being bound by it. Thus Apple -- or, for that matter, Microsoft -- could continue to sue MacOS's -- and potentially Windows's -- competitors out of existence while Windows trundled on unmolested.
> Sculley called together his management team to discuss what to do about this Apple threat against Microsoft that had suddenly boomeranged into a Microsoft threat against Apple. Most at the meeting insisted that Gates had to be bluffing, that he would never cut off several extant revenue streams just to spite Apple and support this long-overdue Windows product of his which had been an industry laughingstock for so long. But Sculley wasn't sure; he kept coming back to the fact that Microsoft could undoubtedly survive without Apple, but Apple might not be able to survive without Microsoft -- at least not right now, given the Mac's current travails.
Between an impressive list of incompatible languages, the vagaries of Git, the complexities of command line access, the reliance on some version of the Unix folder structure - with endless confusion between /etc, /local/etc/, /usr/local/etc and on and on, the weirdnesses of package managers, and completely unfamiliar editors like Emacs and VSCode, the scene might as well be proprietary.
VB at least made if possible to write software in a reasonably accessible and integrated way. So did Hypercard. So does Excel.
The real problem with Automator, AppleScript, etc, is that they're hopelessly underdocumented and the tools are mediocre.
If Apple had made them more prominent and documented them thoroughly they'd have been far more successful - perhaps in an industry-changing way.
But they seem more like side projects that someone spent a lot of time and a little money on. Clearly Apple was never seriously interested in them.
That is such hyperbole. I have no formal IT background and I taught myself the Linux command line, Python, and Emacs in the course of a single year after I heard about this new Linux thing that was free to install. This was 2000, and from communities like Slashdot I saw there were plenty of other nerdy young people taking up the CLI and other Linux stuff, just out of curiosity and without any connection with the IT industry.
Sure, none of this software will ever appeal to the broad masses*, but since the 1990s programming has become so much more accessible to the general public, because of both the free-of-charge software and the free-of-charge documentation. Learning to program on earlier platforms could be very expensive.
* Still, I have heard rumors of a corporation in the 1980s where the secretarial staff – middle-aged women with no formal computer-science education – wrote some custom Emacs Lisp and/or Awk. Maybe learning even relatively arcane stuff can be done by anyone if their salary depends on it.
And at the time, most programs were text-mode. I/O was only keyboard, screen, and disk (and maybe mouse, joystick, and serial port if you wanted to get fancy). When your program started you had full control of the entire system. There was no multitasking, 100+ processes running in the background, nor GUI architecture over an OS subsystem. So you only needed to learn a very very few things to be able to build software roughly equivalent to professional store-bought software. Simple logic and data structures and 3-6 types of I/O and that was it.
From there it was a short step to something more powerful like Turbo Pascal or Visual Basic, again both of which were pretty much "batteries included" everything you need in one tool.
Today's landscape with its enormous stacks, build tools, cambrian explosion of languages, frameworks, and libraries, etc., and layers upon layers of abstraction and indirection between you and the machine, plus countless dependencies, package managers, containers, etc., all of which are constantly changing and shifting out from under you, is baffling even to professional developers.
Luckily, it is easier to find documentation, tutorials, and other actual people to ask about stuff. But also a lot of that is quickly outdated, faddish and evangelical, just assumes that you already know 500 other things, or assumes that you know absolutely nothing, so only covers the barest basics.
So it's really still more difficult than just picking up a book about C, QBASIC, Turbo Pascal, or Visual Basic and getting started was back in the day.
So right after boot a single command could draw a line or a circle. One was not supposed to even type the letters for any command, but had to enter it like on the pocket calculators: the commands were written on the keyboard, in more colors, so just looking at the keyboard one directly saw all the available commands.
The barrier there was learning to enter the needed mode to reach the appropriate color and learning the syntax and the meaning of the commands.
Every user learned to enter at least one command and its syntax: the one which allowed loading any program from the tape. It was a full command with the empty string parameter meaning "match any name": LOAD ""
People just instinctively steer clear of the "professional" tools and documentation, and choose their battles. Even well into the Windows 3.1 era, a lot of people who programmed stuck with MS-DOS text mode. Today, our code runs in Jupyter notebooks. We get stuff done. If it needs a framework or a container, we just don't go there.
There's a mild suspicion amongst amateurs, that the professionals are creating the complexity for their own entertainment or job security. It doesn't seem to make the software better (most "users" think that software is getting worse and worse), or less costly to write and maintain.
To put it more charitably, the struggles of commercial programmers are not invisible to us. I work in a department adjacent to a large programming team. By not attempting to write commercial-scale software, we avoid many if not most of the headaches.
I agree about the portability of VB, HC, and Excel code, including spreadsheets. At least, VB6. ;-) But people are managing with the more fragmented ecosystems of open source tools such as Python toolchains.
At first you could not do any software development for a Mac at all on a Mac, instead you were expected to get a Lisa if you wanted to develop for the Mac. Part of that was that even though the Mac had twice the memory as most computers at that time, the GUI ate up a lot of it, so you could just barely run the bundled MacWrite and MacPaint. Part of the reason why Jobs insisted on keeping the Mac monochrome until the 1987 Mac II was to conserve memory. (When it did come out, the Mac II was priced closer to a Sun workstation than even an IBM PC AT.)
The only computer that I'd used up until then was an Apple II that had been donated to our school. I managed to talk my parents into buying one, and they took me to the store but I couldn't find one. Asked the salesman and he said they didn't sell them anymore but now they had these new Macintosh computers.
I looked at the rinkydink black and white screen with a mostly-blank desktop with just a few icons you could drag around or click on it. Couldn't even figure out how to get to the command line, let alone into BASIC. When I asked the salesman he said that you couldn't and seemed utterly baffled that someone would actually want to use their computer.
So I left and went and bought a PC clone instead. Plugged it in and booted it up and I was coding immediately. PCs just worked, and let you do whatever you wanted. Macs were kind of toy computers at the time.
That philosophy still kind of holds to this day, though less so now. I use a Mac for work, and luckily they did finally make it possible to get to a command line and to program on it. At some point, they realized they had to give some power to it or else become utterly irrelevant. But you can tell that it's still not intended for power users. It still can't run most software, and what it does have is limited and simplified, from the OS on up, and still defaults to making things difficult except for the simplest use cases.
This kind of shocks me.
When you go through macintosh garden and look at all the software (there were tons) a hefty enough portion of it looks like the 80s'/90's equivalent of AppStore fart apps. "Porno" apps with interfaces and interactivity that could have been constructed in Powerpoint.
So that (gatekeeping) didn't work. And then they extended the life of all of that garbage with blue box.
People did amazing things with hypercard. Anyone that says this probably wasn't there or wasn't paying attention. I knew people who put whole museum collections, including audio, into kiosk-like stacks.
The problem with hypercard became complexity and geography: at some point you couldn't find anything and changes were impossible to control.
The thing is, that's the same problem people have today. Visual basic had the same essential problems.
In fact, you can argue that programs like Object Master and the Think! Series were the genesis of today's IDEs (even though OM was based on the smalltalk object viewer from what i remember). Back then programmers mocked IDEs.
I think Hypercard faltered because of the confluence of a number of things, primarily:
(a) Apple's years in the "desert" and Jobs' return, losing focus and then regaining it in a laser-like cut-all-that-is-not-essential reinvention, and
(b) the advent of the web; cgi; php; mysql, etc. -- soon devoting effort to a Hypercard stack would be isolating oneself on a small and shrinking (relatively speaking) island
Especially in the days of 65536 rows and 256 columns this was a disaster waiting to happen. And also the 'Can whoever has orders.xls open please close it, URGENT!!' emails. Both issues are now fixed but it's still the wrong tool for the job.
Lotus Notes led to similar horrors.
there's no teach a man to fish, or give a man a fish. It's sell him a fish. Hopefully a fish subscription.
Apple is absolutely horrible in this respect. If apple gives you a tool to use with their ecosystem, the tool has a license agreement, and is carefully controlled, with the emphasis on control.
I wish python on mac was more of a thing, but that becomes crippled.
Edit: Mac programming was in 1984; Lisp in 1983; Punched cards in 1980
Now, the communications function is this always on thing that never goes away. It's interwoven with every other activity you do. That makes the whole experience much different.
There is no way my family would agree to that though.
Autocomplete came around Borland C++ 4.0 timeframe, or something like that.
During this time using UNIX was a pain, only lessen by an heavily customized version of XEmacs.
On Amiga, Windows, Mac OS and OS/2, no biggie, there were good IDE experiences already.
To be fair, the 'proper' way to deal with that is probably to write some Lisp code to patch the running editor to add backspace functionality. That's not really reasonable for someone (presumably) still learning Lisp, though. (And chances are it wasn't a true Scotsman^WLisp system and didn't support that anyway.)
It lives on a Clozure Common Lisp, though there is no version for Apple M processors. Kind of a shame.
Empowering the end user to not look at the computer as a black box that they have no idea about how it works is quite freeing and mind-expanding.
In the long term, I do believe there is a real risk for programming to become a niche where you end up asking for permission from the h/w vendor before you are allowed to write code on the device. We're slowly heading in that direction with app stores being bundled with the OS, and we may end up in a situation where you can only install s/w through the app store. And only "authorized" persons can download IDEs and dev tools. A large population that has no concept of programming is likely to not oppose this because the vendor will throw the security/privacy boogeyman at them, about "unauthorized" developers writing software that can harm them.
Just in case someone hasn't read it yet, I have to post a link to this classic short story: https://www.gnu.org/philosophy/right-to-read.en.html (The Right to Read, by Richard Stallman).
(The bogeyman back then was copyright infringement, nowadays it's as you mentioned security and/or privacy.)
Hypercard was hugely influential and very widely used. Yes, it ignored the internet, but that was inevitable based on its origins. Heck, 13 years isn't a bad run for any piece of software, especially one that crossed the no internet/internet divide.
The people that want to program will do so no matter what the end-user environment is. Most people just don't want to.
this is something I would expect to hear from an Apple executive, and would hope to never hear from a commenter on hacker news. the whole point here, is we should be fostering environments that make it easy to program should people want to, not assuming the default is "no one wants to program" and making it as difficult as possible, or just making it difficult by laziness (not prioritizing developer experience).
what we DON'T want, is what Apple, Google and Microsoft currently push hard. which is essentially, lets make all personal computing devices black boxes, that cannot be modified, and that the end users dont even own, but rent from their overlords. no thank you.
Software engineering is no more magical. Some people like to build things. Most do not.
A couch is more of a black box than a smart phone.
I would rather have 10% of the population programming than 5%. replace those numbers with whatever is more accurate, but the point stands.
if we can create devices and operating systems that make programming easier, why not do that? why purposefully make it more difficult, or make it difficult by not prioritizing developer experience? do we want a society of consumers, or one of empowered and informed users?
Devices must remain open for the kernel programmers and hardware hackers of tomorrow to follow their curiosity and develop their potential.
Why? I'd rather have a society where everyone is able to achieve their full potential, whatever that may be. If only 1% (or 0.1%) of people are uniquely good at writing programs, then that's who should be writing programs.
Maybe what you're saying is that we live in a world where writing programs is an essential skill, so let's make sure it's not unnecessarily difficult for artists to write programs. But with sufficiently good tools, I don't really see why an artist would spend time writing programs instead of more directly creating art.
This misses the point. There are considerable advantages to Free and Open Source software even if you never modify it, the most obvious being that it tends to deter software vendors from adding user-hostile functionality such as tracking. (It isn't perfect in guaranteeing this, but it's a strong start.)
For more on these second-order advantages: [0][1]
> A couch is more of a black box than a smart phone.
In what sense?
With a smartphone full of proprietary software, it's extremely difficult to find out what it's up to. Same goes for modern smart cars. [2][3] Even if the software is benign, can you be sure about its future updates? There are no such concerns for a couch.
[0] https://news.ycombinator.com/item?id=31071180
[1] https://www.gnu.org/proprietary/proprietary.en.html
[2] https://news.ycombinator.com/item?id=37443644
[3] https://foundation.mozilla.org/en/blog/privacy-nightmare-on-...
Overall interest in computing freedom seems to have declined from where it was a couple decades ago. I've been surprised by that and I have a hard time understanding why it happened. I mean, if you show a carpenter two hammers, the only difference being that one of them can only drive nails from a specific vendor while the other works on any nail, he or she would instantly recognize how significant that difference is in terms of overall usefulness. How is it that computer users intuitively understood this in the past, but somehow the level of awareness and understanding seems to have declined from where it was? I don't get it.
Did it decline, or did the demographics change? Us old-timers are probably still as interested in computing freedom as we were back then, but there are a lot of new people entering the computing world, whose first (and perhaps only) experience with computing was with more closed systems like modern smartphones (and even desktops nowadays are more closed than they were back then).
The reason for this line of thinking is that in my experience, some individuals will simply never have the mindset required to be technically inclined, let alone be able to program. The various people I’ve encountered who freak out at the sight of an alert dialog and won’t even read what the dialog says no matter how many times it’s explained to them come to mind.
So while I would agree that programming should always be within easy reach I would not expect more than a tiny minority to ever reach for it.
The HN audience skews toward programming per se as the ultimate expression of power and flexibility with a computer, but HyperCard was accessible and empowering in very different ways from QBASIC or an iPython notebook.
As an example, take Excel and Python scripting. Almost anyone who uses the former can pick up the latter yet that isn't what typically happens. There is effectively a chasm between the two. Why is that?
Excel is like Factorio or Minecraft, you end up "automating" things you were doing by hand and it doesn't "feel" programatic, and you can very easily "peek and poke" the memory of the "program" as you go along.
Hypercard (and maybe Flash, I never used either) might be somewhere in-between, but closer to Excel.
Powerpoint is almost programmable, but nobody uses it that way.
(There's a similar disjuncture amongst the Linux/Mac users where they will write bash/zsh scripts but not count it as programming.)
I don't see how that's different from mucking around with Python locally on your own machine?
There is an old what-if scenario where Hypercard got the ability to load stacks over the web. I personally think this would have been totally awesome and a disaster at the same time. Hypercard had no security model built in. It's basically advanced Javascript years before it appeared in browsers.
Apple intended to ship the Mac with a user-friendly BASIC-based programming environment out of the gate, and Bill Gates killed it.
I used to use it to inspect HID devices because it was SO unreasonably easy to do so.
How is this relevant?
Codewarrior was an application framework for the Mac OS but I learned a ton about programming and OOP in particular from reading through the Codewarrior code. It was revelatory and motivated me to go on to discover and explore the Gang of Four's Design Patterns and Alexander's work more broadly.
I was lucky to have my computer, but I grew up with a mentality from my parents that they will not buy something that I am only going to probably look at or play with once. With a thick enough price tag on compilers/IDEs, that crushed that interest for awhile. It wasn't only until my brother bought licenses to certain software, it became a bit more available. However, it was eventual access to Free software that changed everything for me. It's hard to put a price to something as valuable as free (in both ways) access to software to make a career out of and it goes well beyond the exchange value of software licenses.
Things have changed a bit and accessing any classic Mac stuff is easier and I have been a little curious again about making some silly classic mac application, if easily possible through emulation. HyperCard, AppleScript, etc. never interested me, but they very much had their purpose.
Starts off with the perfect Lick quote,
> The user wants open software, software that can be modified, and that can participate in a progressive improvement process.
I feel like software is still in some pre-history phase, a time before you can just open up the editor & look at the flow-based view of where data came from & went, before you can openly hack around with that flow. The software all seems so hard & opaque to users, not at all in it's soft form when it is delivered. I believe over time in a softening of software, where we advance into a malleability.
HyperCard & Apple script are two bright points in this history. But today they seem mostly historical. Apple had significant presence in this drive enable users to augment, but like the industry as a whole, this vision has mostly rusted out.
Speaking of, its creator Bill Atkinson famously said that his big mistake with HyperCard was to not have cards connect to one another through a network. Imagine what that could have been!
https://www.wired.com/2002/08/hypercard-what-could-have-been...
I’m surprised the author mentioned Swift Playgrounds but not Storyboard. Storyboard was promoted as a way to build apps without touching code. It obviously failed, as anyone who has used it could predict, but that was definitely part of the messaging around it.
"Kid's these days" don't have a chance to be bored on their input-unfriendly devices.
One time I spent half a day trying to figure out how to add a page to Quark XPress, only to eventually find that documents didn't contain pages; they contained spreads, and spreads contained pages.
That was 100% not shown in the standard dictionary display in the Script Editor tool; the UI tool I used for creating interfaces for AppleScript apps had a better dictionary display, and that revealed the answer to me.
They should've made the automation system accessible from any language instead of inventing this one (and Mac had a few scripting languages)
The GUI paradigm has much more potential, but tedious for anything but simplistic stuff, so it should be on top of scripting so you could switch back and forth
So I switched to the IBM-PC and never looked at Macs again.
Are there any existing dataflow languages (visual or textual) with similar dev workflows?
"Programming" as a concept is more accessible to people than it's ever been. Some years back I tried to break into React development (I'm an iOS developer, but only with native code and wanted to expand my skills) and I had built a simple app in a language I'd never used before with tooling I'd never used before up and running in a couple of hours. I'm sure my prior experience in software helped some, but I cannot overstate how completely different the tooling was between one and the other.
If you want to build websites, there are more tools and options than ever. Basic HTML editing and markdown files paired with something like Jekyll, hosted on Amazon S3 is basically free, minus the cost of a domain, and is done with simple HTML and text files, with massive community-driven documentation and support. If you want a fancier website, PHP/MySQL are extremely mature, well documented, with probably billions of code samples available and who knows how many libraries. If you want to build apps, Swift playgrounds is excellent, and Swift itself is an extremely flexible and comprehensible language, and Kotlin on Android is quite similar as I understand it. If you want to automate your daily life, Macs have a whole selection of shells, and PHP can work there too. Windows meanwhile has batch files, powershell scripts, and if you're willing to do a little work, bash can be had too.
And more and more and more. 3D printers with GCODE automation, arduino microcontrollers, raspberry pi's to make dumb electronics smart on your own terms. I could come up with examples for the rest of the day if I wanted and probably not repeat myself.
And anytime you run into a problem, you can slam an error message into Google, and pretty reliably find something/someone that can help you, and many of them absolutely will because we all love this stuff and love solving problems and helping each other out.
This notion that Apple has failed to bring programming to the people is fucking bizarre to me. Programming is with the people. A lot of people don't wanna do it, that's fair. A lot of people don't have the skills, or the desire to get them, completely understandable. But to say it's inaccessible is just wrong. It's all out there. Whatever you want to do, there is probably a solution to it if you're willing to put the time in, as has been the case with basically any other skill for all of human history.
I really don’t think this is true. The programs and web sites we interact with nowadays are far more complex than they used to be, so building something feels far less approachable.
I feel lucky that my first exposure to programming was on 8 bit machines in the 80s and then got to learn web programming in the PHP era.
It provided a gentler introduction than starting afresh nowadays would.
I mean, sure, you can't build your own Amazon or Facebook in an afternoon. But that is not the sole domain of programming.
Just like building a model RC airplane for your own enjoyment involves a lot of similar principles to designing a Boeing 767, but one is magnitudes more complex to pull off. But also, few individuals find themselves wanting a Boeing 767, and instead want a model RC airplane.
The only people I ever met that programmed for the Mac were converting PC programs over to it.
Think Pascal (if memory serves). (Edit 1988-89)
It was awesome. We did a checkers programme for my stage II class of computing.
Thirty plus years later I was back, for a couple of years, using Swift.
How the mighty have fallen.
By contrast, MS-DOS batch files were far from powerful, but everyone had a few to automated repeated daily tasks. Seems to be just loss of any willingness to do a little upfront work for long term time savings.
- Just to expensive. The Apple Macintosh in January 1984 cost $2500 - thats $7000 dollars in todays money!
- Too complex to get started. The amount of knowledge to successfully write anything really useful in 1984 on that make was a huge barrier to entry - you had to learn ObjectPascal, the then new GUI concepts, somehow get your hands on CodeWarrior (another expensive software package) and learn the UI of CodeWarrior.
- Documentation was poor. The system shipped with nothing mentioning any of this or the hardware underpinnings.
The Mac was designed as an end user 'consumption' machine, not a development machine. Nothing wrong with that - as the market had shown it was highly proficient and successful in its intended role.
The company (in the US at least) that brought programming to the masses was Commodore.
- IT WAS CHEAP! With the release of the Commodore 64 it brought the a super sophisticated system at bargain basement prices. By early 1985 the C64's price was $149 (https://en.wikipedia.org/wiki/Commodore_64) - thats $420 in todays money. A complete system with a 1541 disk drive & monitor cost a total $549 (https://www.mclib.info/Research/Local-History-Genealogy/Hist...) or $1,547 in todays money. A computer with 64K, 16 color graphics, a revolutionary 3 voice synthesizer capable of speech, and a massive software library and peripherals.
- It came with everything you need to to write code. The system booted into a BASIC interpreter REPL which served as its command line also. No additional software needed.
- The info that it shipped with was phenomenal. The manual shipped with the computer actually give you a nice tutorial on the basics of writing code, with examples of color graphics, sound generation, sprites and accessing peripherals (https://www.commodore.ca/manuals/c64_users_guide/c64-users_g...) You could write to Commodore and they would actually send you a schematic of the main board and expansion ports as well as a dump of the ROM so you could look at the actual code that the system used to do what it did.
It was an amazing time to be a young Commodore 64 programmer back then. Heck even the company's slogan was "Computing for the masses, not the classes". And with the Commodore 64 they lived that slogan.
The interesting thing is that todays Apple is even more friendly than Commodore was to the budding developer - with the MacMini line and the Unix underpinnings of the MacOS X, there isn't a better beginner developer system than Apple today.
Apple in many ways, learned its lessons and adapted. Commodore unfortunately - so Apple Mac of today is bringing programming to the masses.
All of my nieces and nephews - I bought them an iMac mini for last Christmas and showed them how to use the terminal and python - and they are on their way.
and iphone which was awesome, if also a statement in how blind and shitty the competition was.
overrated upper middleclassware anyway...
Apple even had a simplified version called Bento for a while, which didn’t really catch on unfortunately.
https://en.wikipedia.org/wiki/Bento_(database)
In a previous job, I was looking after the in-house FileMaker application which basically managed CRM, finance and sales for a small company (around 60 users). Company got bought at some stage and the application got replaced by Oracle counterparts. From what I’ve heard, many people were missing the FileMaker DB.
I actually think the Apple of today is completely different company than the Apple of the late 70s / early 80s, and the two companies have basically nothing in common at this point. The way I see it, before the iPhone, Apple had never had any truly mass market, "it's for everybody" product line. They had a long series of niche products. The iPhone really changed them, in ways good and bad.
Nevertheless, I appreciate Howard's perspective, even if I'm not totally bought into it.
Maybe its success didn’t reach global scale, but I think it’s the iPod that turned Apple Computers Inc into Apple Inc.
Absolutely not the case.
Wikipedia cites an article in Japanese saying that about 220 million Sony Walkman devices were produced before discontinuation in 2010. Even if you quadruple that for other brands, you're not even close to 1/4 of the world at the time they first came out.
I really think it was the iPhone that changed Apple.
It's a reasonably continuous storyline for the end user, which is what matters given the topic. Personal computers themselves weren't a mass market, neither were smartphone so you could just as well look at it as, say, "Apple's long-term vision of mass market computing succeeded". But it's not clear how either of these interpretations would change this blog post much.
Apple kept denying this was their plan, but kept moving closer and closer to doing this. However, they then appeared to stop around 2020 and haven't renewed those efforts, so I guess we are safe?
Other than arguments made on messageboards, I don't think there was really any concrete evidence of this, the technical/product reasons they were/are doing this for were clear. So yeah, I think that's a discontinuity of perception.
- I can lift a Macbook with one hand creating tension on the chassis. When I do the same on a Lenovo T14 Gen 1 it shuts off. When I get excited and am just in the middle of programming, just grabbing the laptop to bring it closer to me kills my work.
- Stable firmware, stable startup, stable wake from sleep without losing progress
- Can swap dozens of gigabytes
- Doesn’t corrupt after updated
- Usable trackpad
- Color calibrater high-res screen since 2012
For me it’s these purely usability centered aspects that enable me to even do programming. Automatic sleep/hibernate features don’t work with the other models at all.
And Commodores, Ataris, TRS-80's... 8-bit home computers (and some 32-bit ones) survived long after the introduction of the Mac. What really killed them was the cheap PC clone.
The benefits are obvious. The downsides (disk space?) are not. Why didn't anyone ever do this?
EDIT: Nevermind. Xcode used to ship on the MacOS discs.
They did! Back when there were Mac OS X install discs, in the 2000s, every Mac came with the Xcode developer tools on disc as an optional install.
That's the only reason I'm a programmer today. So I would say that in an important sense, the Mac did bring programing to the people. And back in those days, there seemed to be a lot more amateur Mac developers than there are now (and possibly more professional Mac developers too).
At that time, pretty much every home computer would boot into a BASIC interpreter (or a REPL, in modern parlance).