16 ms·
How the Mac didn’t bring programming to the people
- eludwig 3y agoThis is a really silly framing device wrapped around a decent high-level review of end-user focused dev environments. 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.
- 38 3y ago> 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.
- Clent 3y agoPeople that want to build their own furniture will do so no matter what the end-user environment is. Most people just don't want to. 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.
- 38 3y ago> People that want to build their own furniture will do so no matter what the end-user environment is. Most people just don't want to. 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?
- dpkirchner 3y agoCreating apps -- native or otherwise -- has never been easier, so I think we're doing pretty well there. Devices are indeed locked down but I would guess that most people, even programmers, don't care as long as they can create most of the user interfaces they can imagine.
- paulryanrogers 3y agoI'd argue more things are easier to do than ever, yet making them distributable has narrowed. Before you could ship floppies from your garage, partner with a publisher, shareware, or sell to local shops. Now you have to pay gatekeepers, or train users to do dangerous things.
- mbakke 3y agoHow can we make better operating systems if devices are locked down? How can hobbyists keep the hardware useful when the manufacturer no longer cares? Devices must remain open for the kernel programmers and hardware hackers of tomorrow to follow their curiosity and develop their potential.
- fulladder 3y ago> I would rather have 10% of the population programming than 5%. 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.
- MaxBarraclough 3y ago> Software engineering is no more magical. Some people like to build things. Most do not. 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 https://news.ycombinator.com/item?id=31071180 [1] https://www.gnu.org/proprietary/proprietary.en.html https://www.gnu.org/proprietary/proprietary.en.html [2] https://news.ycombinator.com/item?id=37443644 https://news.ycombinator.com/item?id=37443644 [3] https://foundation.mozilla.org/en/blog/privacy-nightmare-on-wheels-every-car-brand-reviewed-by-mozilla-including-ford-volkswagen-and-toyota-flunks-privacy-test/ https://foundation.mozilla.org/en/blog/privacy-nightmare-on-...
- freedomben 3y agoI fully agree with you, but with one exception: I think hacker news has very much become a place of love for black boxes. Many people here love and praise apples "it's not a computer, it's an appliance" approach.
- fulladder 3y agoCertainly there are black-box-ophiles on here, but there is much more awareness of the problems of black boxes on HN than most places. After all, the post you're replying to went out of its way to bring up the problem of black boxes. If this were Reddit or Twitter/X, would there even be a person around to bring up this issue? 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.
- cesarb 3y ago> Overall interest in computing freedom seems to have declined from where it was a couple decades ago. 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).
- jwells89 3y agoI’m on board with making programming as accessible and easy as reasonably possible (though I do think there’s an unsurpassable upper limit to that), but that’s different from programming or even somewhat technical tinkering being the norm and expected. The former is achievable, the latter is a setup for failure. 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.
- RodgerTheGreat 3y agoIt's also worth considering that HyperCard was very effective at allowing users to build or customize useful tools for themselves while writing little to no code. You could write "programs" with HyperTalk, but you could also just pick through the extensive examples HyperCard shipped with and kitbash something, or make searchable databases with little more than a card background with some fields. A small amount of scripting could go a long way, because the surrounding environment and tools did heavy lifting for you. 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.
- kalleboo 3y agoYeah HyperCard came with a stack called “Button Ideas” with a bunch of ready-made buttons you could copy and paste into your stack with no coding needed
- deleted 3y ago[deleted]
- andrewjl 3y ago> The people that want to program will do so no matter what the end-user environment is. Most people just don't want to. 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?
- bombcar 3y agoAlmost everyone who uses python would say they're programming (or 'scripting') - but very few people who do very similar things in Excel would say the same. 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.)
- andrewjl 3y ago> 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. I don't see how that's different from mucking around with Python locally on your own machine?
- jandrese 3y agoHypercard was mostly sidelined by the time the Internet went mainstream. By 1995 development on Hypercard was long dead. You really can't blame it for not embracing web pages. 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.
- analog31 3y agoI had a Mac from around 1993 to 1997. I even wrote articles for minor league Mac journals. 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.
- dreamcompiler 3y ago> Even HyperCard never had his wholehearted support 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.
- giantrobot 3y agoI say this as someone that loved the Newton. The Newton was a millstone for Apple at the time. Just like printers, scanners, and cameras. 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.
- intrasight 3y agoProgramming on the Mac was the second worse experience I'd had - second only to a terminal Lisp system that had no backspace and thus no ability to fix a typing mistake. Both were in fact worse than the punched cards where I first learned to program. Edit: Mac programming was in 1984; Lisp in 1983; Punched cards in 1980
- phoehne 3y agoLearning C++ programming on OS 7 put hair on my chest. After that Unix was a walk in the park.
- fulladder 3y agoI think programming was a fairly miserable experience on all platforms before about 2000. In the early days, there wasn't enough surplus computation available to devote any of it to programmer ergonomics. Today we have IDEs that can make accurate autocomplete suggestions, compilers with detailed error messages (and even suggestions on what the mistake probably is), shells that tab complete really effectively, etc. Before ~2000, there just weren't enough spare cycles to do any of that stuff particularly well.
- JoyfulTurkey 3y agoThe biggest advantage I found when learning on DOS and Windows in the 1990s was the overall lack of distractions. No smart phone, YouTube, Reddit/HackerNews let me fully concentrate.
- fulladder 3y agoYeah, I totally agree. Computers for a long time were not a communications device the way they are today. You could buy a modem and use it communicate, but that was a distinct activity and once exited the terminal program you were once again by yourself. 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.
- 3y ago
- phoehne 3y agoI think the gold standard for this was Visual Basic, especially combined with MS Access. And they didn't touch on File Maker. A lot of those one-person, in-house applications I've come across were wrappers around databases more than anything else. For example, I ported an application that was written on Access and VBA to track counts of organisms in stream beds to the Web for a county government. Frankly, I'm not sure I made their lives better, except for their manager's manager to check a box. And there are a bunch of small applications I've run across for things like property management that are little more than a GUI over a database.
- steve1977 3y agoI was about to comment that the article is missing FileMaker. Which comes with its own kind of “programming language”. 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) 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.
- deleted 3y ago[deleted]
- runjake 3y agoShortcuts is one of those rare products that have been acquired and have not only not been ruined, but has improved tremendously for first and third party app integrations. 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.
- corbezzoli 3y agoAs a programmer, I hate Shortcuts. I really can’t believe 10 instructions can take multiple seconds. I can’t believe Apple decided this product is ready for prime time.
- runjake 3y agoIt depends on what those 10 instructions do. 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.
- SV_BubbleTime 3y agoAdmittedly, I do a lot of low level and embedded programming, but my one venture into Shortcuts was brief and filled with wtfs. I don’t know who thinks about computers in that way. It makes zero sense to me.
- labrador 3y agoThe Apple II Basic prompt brought programming to the people. Around 1984 Byte magazine published an article about a hot language "C" that was used to create special effects in Hollywood. Not long after C was available in the Macintosh Programmers Workshop (MPW) where many started using it. Objective-C was written in C. Most "programming by the people" was Excel macros on both PC and Mac. I agree the Mac didn't bring programming to the people, but it helped.
- danielvaughn 3y agoFunny enough I’m literally writing an article at this very moment that touches on this subject a bit. 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.
- phoehne 3y agoIs FileMaker also in this camp?
- danielvaughn 3y agoNever heard of it, looks like an early GUI DBMS?
- e12e 3y agoIt's similar to Microsoft Access (or vice versa).
- steve1977 3y agoStoryboards were basically just an extension of Interface Builder of NeXTSTEP days… so more a way to build GUIs without touching code.
- danielvaughn 3y agoFair point
- ToucanLoucan 3y agoWhat an odd statement. "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.
- laurencerowe 3y ago> "Programming" as a concept is more accessible to people than it's ever been. 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.
- lynguist 3y agoAs for me Mac did bring programming to me, just with its durable chassis and well working memory management and relatively stable OS. - 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.
- deleted 3y ago[deleted]
- fulladder 3y agoI like Howard's blog. However, in this post and many others, he seems to regard the Mac as a continuous story line from 1984 to the present. 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.
- corbezzoli 3y ago* before the iPod Maybe its success didn’t reach global scale, but I think it’s the iPod that turned Apple Computers Inc into Apple Inc.
- fulladder 3y agoYeah, the iPod was a major step along the way to the iPhone. I guess the difference to me is that MP3 players were never something that literally everyone was going to feel a need to own. Not everyone listens to music or podcasts, but everyone needs to communicate. It's a size-of-market thing, the difference between "our market is anybody who listens to music" vs "our market is all human beings." A successful product in that second category feels much different to me than a successful product in the former category.
- kjkjadksj 3y agoAt the time though it really felt everyone would one day own an mp3. The entire world had a walkman. The mp3 player was like a 10x better version of that.
- PaulDavisThe1st 3y ago> The entire world had a walkman 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.
- RcouF1uZ4gsC 3y agoThe number one thing that brought programming to the people was Excel. Multiple orders of magnitude more people have written formulas and macros than have ever used a “real” programming language.
- wkat4242 3y agoSadly using the totally wrong tool for the job. Using excel as a database.. sigh. So many times at work I've been asked to help out some hobby bob who painted themselves in a corner and made a 'tool' that ended up in production but was architecturally completely inadequate. 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.
- dreamcompiler 3y agoApplescript could have been great except for two (IMHO) huge design misfeatures: 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.
- giantrobot 3y ago> You can't write a BNF for it because its syntax depends on what program you're trying to control. 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.
- fulladder 3y agoMy recollection of the English-like nature of Applescript is that there would be multiple ways to express something, and more than one of them would work, but it always seemed totally unpredictable which would work and which wouldn't. That's actually a bit worse (more frustrating) than the way you're describing it. Overall, I agree with you that it was unsatisfying for both professional programmers and non-programmers, and that's why it failed to take off.
- simonw 3y agoI finally started writing AppleScript a few months ago when I realized GPT-4 can write it for me, which eliminated almost all of my previous frustrations with it: https://til.simonwillison.net/gpt3/chatgpt-applescript https://til.simonwillison.net/gpt3/chatgpt-applescript
- Theodores 3y agoThe whole point of the Nac was that you didn't have to write your own code for it. It was a consumer device with modeless editing and an emphasis on the GUI, not the terminal window. The only people I ever met that programmed for the Mac were converting PC programs over to it.
- nemo 3y agoOne other little piece of the story was MacBasic: https://www.folklore.org/StoryView.py?story=MacBasic.txt https://www.folklore.org/StoryView.py?story=MacBasic.txt Apple intended to ship the Mac with a user-friendly BASIC-based programming environment out of the gate, and Bill Gates killed it.
- goodmachine 3y agoSee also: Quartz Composer
- bowsamic 3y agoThis reads more like a list of successes, rather than failures
- DonHopkins 3y agoHe forgot to mention the Apple ][ which had BASIC in ROM! (Both Integer Basic and Applesoft Basic.)
- mannyv 3y ago"HyperTalk was both limited and limiting, as most came to discover" 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.
- scelerat 3y agoI said it in another comment, but just wanted to reinforce this. The things people -- professionals and amateurs alike -- did with Hypercard were amazing. 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
- scroot 3y agoSomeone needs to leak one of the early development versions of Hypercard 3, which was supposed to be some kind of heavy integration into the newest version of Quicktime
- rr808 3y agoAs a non-American the biggest problem with Macs & the people was they were too expensive. No young people could afford them. The only real people who used them were designer types and a few rich arty people. Everyone else used PCs.
- deleted 3y ago[deleted]
- rbanffy 3y ago> Everyone else used PCs. 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.
- Clubber 3y agoCommodore did it.
- rbanffy 3y ago"Computers for the masses, not the classes". At that time, pretty much every home computer would boot into a BASIC interpreter (or a REPL, in modern parlance).
- deleted 3y ago[deleted]
- jheriko 3y agoa snooty, awful user base and terrible ideas that hurt usability. and iphone which was awesome, if also a statement in how blind and shitty the competition was. overrated upper middleclassware anyway...
- donatj 3y agoThe lack of any mention of Quartz Composer is really sad. I saw so much absolutely amazing things done in Quartz Composer by people who knew almost nothing about programming. I recall Facebook even talking about using it as a tool for prototyping UI animations. I used to use it to inspect HID devices because it was SO unreasonably easy to do so.
- dehrmann 3y agoThere's a lesson here for everyone who thinks they have a new no-code solution. There's a long history of these solutions that never caught on, and the best outcome you can hope for is Filemaker, Access, or VB. It works for simple things, but it quickly escalates to needing a "real" programming language.
- whatever1 3y agoLLMs will.
- bayofpigs 3y agoThe article doesn't mention it but there was also Newton Script. Was a language for the Newton that looked like javascript with sharable top-level PDA objects for contacts, notes, handwriting, etc.
- mitchbob 3y agoIn the early 90's, Apple had big plans for end-user programming. Larry Tesler, the head of Apple's Advanced Technology Group, gathered people from ATG and elsewhere at Apple who were working on aspects of end-user programming for a project code-named Family Farm. The idea was that most of the pieces that were needed for end-user programming were already working or close, and that with a few months of work they could integrate them and finish the job. 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. [1] https://www.cs.utexas.edu/~wcook/Drafts/2006/ashopl.pdf https://www.cs.utexas.edu/~wcook/Drafts/2006/ashopl.pdf [2] https://en.wikipedia.org/wiki/HyperCard https://en.wikipedia.org/wiki/HyperCard
- waffletower 3y agoWhile the Hypercard discontinuation in 2004 can be viewed as petty, that was quite late in its life. I think this article neglects many of the developer gifts that came back into the Apple fold via the NeXT merger which Steve Jobs can legitimately take some credit for. Cocoa was a major development which is completely ignored here. Also, the evolution of the World Wide Developer's Conference, and its supporting materials is not covered in the article as well.
- pjmlp 3y ago
- amelius 3y agoHow iOS took programming away from the people.
- deleted 3y ago[deleted]
- rogerclark 3y agoAll we needed was for vendors to ship development tools with the OS. Nobody ever did that. Apple could include Xcode on every Mac, but they don't. macOS and Windows... neither of them come with a code editor. 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.
- deleted 3y ago[deleted]
- lapcat 3y ago> Why didn't anyone ever do this? 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).
- rogerclark 3y agoThat's great. Not sure why I forgot about that. I take back the original comment. Thanks!
- djaouen 3y agoI didn’t read the article, but you can’t blame Apple for people’s stupidity. When I got my first Macbook, programming is literally the first “app” I installed lol
- jandrese 3y agoIMHO this article writes off Hypercard way too fast. It was a surprisingly capable language, especially when you start adding modules. It's a huge shame that Apple crippled it so quickly by only shipping Hypercard Player with most machines. Had they kept the full development environment in the base OS it might still be around today.
- kalleboo 3y agoYeah I wonder how much longer HyperCard had survived if they had (1) Kept bundling it with Macs (2) Added proper integrated color support from day 1 when the Mac II came out
- karaterobot 3y agoI think they did bring programming to the people by way of the app store. Maybe they didn't make it so your aged granny can write an automation script, but that more people than ever were inspired to learn programming. They made two languages and a proprietary hardware/software/distribution stack that brought a lot of people into the world of software development. I know so many people a generation younger than me who learned programming specifically to make apps for the app store. People who would probably not have gone into development but for the iPhone. I'm sure Apple did not intend to mint new programmers, they intended to sell hardware and make money on software, but the net effect is more programmers than ever as a result of their choices.
- biogene 3y agoThat may be true, but the point was about empowering the end user. Making programing popular through the app store (arguable) is a separate (also important) topic. 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.
- cesarb 3y ago> And only "authorized" persons can download IDEs and dev tools. 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 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.)
- maroonblazer 3y agoIt wasn't developed by Apple, but Metrowerks Codewarrior[0] was my serious introduction to programming. 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. [0]https://en.wikipedia.org/wiki/Metrowerks https://en.wikipedia.org/wiki/Metrowerks
- waffletower 3y agoI always thought the branding for that product was terrible and embarassing. I even renamed my binary to "HackLikeADork" on my Mac when I needed to use it. I cringed when I thought that someone of the opposite sex might glance at my screen and see that I was trying to be a "CodeWarrior".
- waffletower 3y agoSurprising for the OP to neglect mentioning MacOS X's bundling of Terminal.app (2001) and the built-in window it opened to UNIX on MacOS. While I now use iTerm2, Terminal has been steadily maintained since. But I agree, when compared to the Apple ][ series, and to NeXT, Apple did not court developers to the Mac well during the 80s and 90s.
- cat_plus_plus 3y agoMaybe the people share some responsibility here? Seems like Apple tried again and again but none of the pretty powerful tools attracted enough following to be worth maintaining. If they did, they would be improved with every release and fix early shortcomings. 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.
- mitchbob 3y agoCounterpoint: A piece on Alan Cooper and the creation of Visual Basic. https://retool.com/visual-basic/ https://retool.com/visual-basic/
- fortran77 3y agoThey blew it right from the start. I loved my Apple ][ and was excited when Apple introduced the Mac. But I looked at it, and it was impossible to write software for it unless you had access to a Lisa. (A few companies had products like "Hippo C" but you couldn't write a GUI app in it!) I thought that a computer you couldn't write your own software for was obscene. So I switched to the IBM-PC and never looked at Macs again.
- xvilka 3y agoLinux did.
- skavi 3y agoPrograph looks super cool. Found this article [0] discussing it and it seems it had a very impressive debugging environment. Are there any existing dataflow languages (visual or textual) with similar dev workflows? [0]: https://noelrap.medium.com/prograph-c3caa90b89e8 https://noelrap.medium.com/prograph-c3caa90b89e8
- m463 3y agoI think many companies are taking away any sort of self-determination by design. 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.
- PeterCorless 3y agoHyperCard was everywhere on the Mac in the late 1980s. It was so much more accessible than most anything comparable on the PC. Its short life was due to other better database choices coming out — such as FileMaker or 4D — and, of course, the advent of the World Wide Web, which was, at that time, a collection of HTML pages and CGI scripts often written in perl.
- gregsadetsky 3y agoHyperCard was my very first intro to programming. 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/ https://www.wired.com/2002/08/hypercard-what-could-have-been...
- Glyptodon 3y agoIn the late '90s, I really wanted to learn how to make a computer game. Our family's only computer was some kind of Power Mac. I managed to find my way into a basic copy of code warrior (because it looked like a programming tool based on a computer catalog). But we only had dial up internet that had to be used with permission because it hogged the phone lines. And nothing built in to the manual really explained enough to do much besides some basic stuff involving printing characters to the screen, and some keyboard input. If the manual had any kind of tutorial sufficient to make snake or even just a really bad version of asteroids or galaga or something I'd probably have never put down the keyboard. But instead, I kind of lost interest because I assumed I was missing something you needed to make graphical programs. Another barrier was that what internet time I did have mostly lead to Windows stuff. Not that I really knew how or what to look for. 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.
- samvher 3y agoThis is so recognizable! 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.
- mkl 3y agoTurbo Pascal, Delphi, QuickBasic (not so much QBasic), and Visual Basic had amazing built-in documentation for learning how to do things in a pre-internet way. That's what got me started.
- jwells89 3y ago> And nothing built in to the manual really explained enough to do much besides some basic stuff involving printing characters to the screen, and some keyboard input. If the manual had any kind of tutorial sufficient to make snake or even just a really bad version of asteroids or galaga or something I'd probably have never put down the keyboard. But instead, I kind of lost interest because I assumed I was missing something you needed to make graphical programs. 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.
- gcanyon 3y agoIf you're going to start with HyperCard, you can't leave out SuperCard and LiveCode, both still around today. And if you include SuperCard, you have to mention that its creators went on to create Flash. And then of course there's Director, mTropolis, iShell, and Apple Media Tool, and many other tools that started on Mac.
- deleted 3y ago[deleted]
- gcanyon 3y agoAppleScript gets a bad rap for being obscure, but the language itself isn't to blame (mostly) -- when I was an AppleScript developer, 97% of my headaches came from applications with weird dictionaries, not the language itself. 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.
- deleted 3y ago[deleted]
- worik 3y agoIt bought programming to me. 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.
- eviks 3y agoThe "natural language" with very poor tooling compared to any popular language make coding in AppleScript a dreadful experience, "natural language "doesn't help you much in reducing ambiguity in learning, and of course, awful documentation doesn't help the people, so discoverability is awful 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
- vparikh 3y agoApple didn't bring programming to the masses - for the following reason: - 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 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/Historic-Prices/Historic-Prices-1985 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_guide.htm 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.
- PeterStuer 3y agoThink Pascal was a revolutionary IDE for it's time. I remember the absolute joy of coding on a Mac IIcx, with the Apple vertical page display, and the 3 volumes of Inside Mac by the side.
- jojobas 3y agoSome versions of DOS shipped with QBasic IDE. I wonder how many people's hobbies and careers were shaped by finding that out of curious boredom. "Kid's these days" don't have a chance to be bored on their input-unfriendly devices.
- jingles_dev 3y agoearly years of the Macintosh when it was seen as less accessible and less friendly to programming enthusiasts compared to other personal computer platforms of that era. However, the landscape has changed significantly since then, and the Mac now offers robust development tools and a thriving ecosystem for developers and programmers
- eweise 3y agoI first learned programming using Think C on a Mac Plus.
- rational_indian 3y agoApple is an appliance maker. It does not make computers.
- bigpeopleareold 3y agoWhen I was a wee one in the 90s (teenager actually :D ) I tried to be interested in programming my Mac. I had the opportunity to learn how to program (Turbo Pascal) in school, and wanted to do something with that on my Mac. I vaguely remember that accessing a Pascal compiler was a bit out of reach. At the time there was MPW and Codewarrior and a ton of documentation in the form of the Macintosh Toolbox (for which I excitedly printed out - a number of Inside Macintosh editions). However, nothing stuck with it. I think all I had an evaluation version of Codewarrior only and I think MPW was a bit hard to come by (and being dated anyway.) I think it would have helped to have a tutorial or something, but I ended up getting very impatient with it and gave up for a few years, until I started with web development with a purchased toolchain (and serving on classic mac :D ) 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.
- hbossy 3y agoAutomator was great, I used it to steal my sisters copy of twilight sequel unofficial translation, she kept on password - protected CD. All it took was to piece together a few visual blocks that would backup any PDF on newly mounted disc. A ten years old kid could figure it out in two hours.
- zubairq 3y agoReally interesting read!
- jauntywundrkind 3y agoThere's a modest sized outpost for "programming [ed: and other manipulations] to the people" interests at https://malleable.systems https://malleable.systems . Huge fan. 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.
- scelerat 3y agoI feel like this article undersells Hypercard. From my perspective as a young teen BBS kid in the early '90s, everyone and their mother (literally) were making Hypercard stacks. A friend of mine in 9th grade made a Spanish flash card quiz game that got a ton of downloads. My dentist made a stack that tracked patient records and visits and allowed you to click on a tooth on a diagram and enter data about it. There were games, both amateur and professional (MYST is the most famous example). Hypercard really did seem like programming for the people. 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.
- someonehere 3y agoMy high school had so many classrooms running everything with HyperCard. The most intriguing were decks connected to VCRs to play videos. My computer science teacher had his laserdisc connected to some of his decks. It was amazing what HyperCard was.