Have you personally experienced such 10x improvements in your own interactions with software? What were they?
[1] - https://thenextweb.com/entrepreneur/2015/07/13/the-10x-rule-for-great-startup-ideas/
+ Google Maps in 2004 and dragging the map interactively around. This was a quantum leap beyond Mapquest's page reload and reset with cumbersome arrow buttons. This was a paradigm shift that let me explore a geography better than any book atlas. I gave away all my atlases
+ MS Window Media Player's ability to cleanly accelerate playback to 2x,3x,4x of audiobooks and tutorial videos for slow speakers. MS Windows 7 had this long before Youtube's player had a 2x playback option.
+ SQLite library : more than 10x improvement since I came from old school of writing custom formats for persisting data. No more dumping memory structs to disk or writing b-trees in C Language from scratch.
+ C++ STL in late 1990s. Instantly reduced need to write custom data structures like linked-lists or in-house string libraries for common tasks
+ VMware in 2000s : more than 10x productivity enhancement because I can play with malware in a virtual software sandbox instead of tediously re-imaging harddrives of air-gapped real physical machines
+ Google Chrome in 2008 : 10x quality-of-life since misbehaving websites crashing don't bring down all the other tabs in my browsing session like Firefox/Opera.
I probably have more than a hundred examples. Some software tech 10x improvements are more diffused. Reddit+HN websites are a much better use of my time than USENET newsgroups. Youtube with recordings of tech conference presentations I can watch at 2x+ is a better used of my time than physically traveling to the site.
Every developer from around 2006-2008 knows what I'm talking about. Debugging JS in IE6 was like trying to build a house blindfolded with both arms tied behind your back. Firebug is when JS went from just a web augmentation toy that could silently fail and your web page would still mostly function to becoming a critical function for a web page (many will see this as all a big mistake).
1. Automatic device discovery and driver installation (e.g., with USB devices (also USB device categories, etc.)). Instead of trying to find a driver, things just worked.
2. Automatic updates. Keeping everything updated, largely, fell into the background.
3. Graphical integrated development environments (IDEs) for software development. I realize editors can be contentious, but tab completion of variable names, automatic identification of methods within scope, syntax highlighting, easily dropping breakpoints, etc. are, in my experience, wonderful improvements on productivity.
4. What you see is what you get (WYSIWYG) text / image editors. Thankfully, I did not spend much time in the prior era, but it was, at times, maddening to get something to format correctly.
5. Ad blockers / reader modes. Again, I know these can be contentious, but, for me, these reformatting services are sometimes the only way to make some websites practically readable.
I strongly second:
-The rise of memory-managed languages (e.g., JAVA, C#, etc) with pretty robust default library sets, especially for string manipulation, graphics, and network operations.
-Moving map software, especially for mobile GPS mapping.
-Spreadsheet software.
-Being able to easily search for answers to fairly technical programming problems, compiler errors, etc. along with better access to online documentation.
Using web-based email clients was a nightmare before Gmail. They had limited storage space, and the UX was pretty bad, they were hard to search, etc. You spent all your time figuring out what you wanted to delete, or seeing your emails bounce when people had full inboxes. If you didn't log in for a while, your account would disappear.
And then suddenly, you got a GB of storage. For free. No questions asked. And its UI was simple and easy-to-use. And you could search it.
A lot of other products are 10x better in individual areas. For instance, Google Sheets was much more portable/shareable than Excel when it launched. But even today there's no comparison, Excel is superior for actual spreadsheet functionality. But Gmail was better on every axis, even against local clients like Thunderbird and Outlook.
- Perl. This was at the time when the other languages available to me as a student were Java or C (mid to late 90s). Those were fine, but Perl definitely felt 10x more productive for me for the things I actually wanted to write. Plus CPAN was the first directory of libraries/modules that I'd encountered of its ilk.
- VMWare/virtualization. We used it for an Operating Systems class so we could learn by actually writing Linux kernel code and running it on a VM. This was huge at the time. Friends at other schools taking Operating Systems had to work on dumbed down simulations and "teaching" OSes. Before VMWare, if you wanted to work on the kernel, you had to have spare hardware and a lot of patience for re-building your system when you did something stupid. With VMWare, you could just restore from a good snapshot and try again.
- apt-get. Coming to Debian from (old, pre-yum) Redhat, being able to type a command and reliably install pretty much anything was a huge improvement over untangling RPM dependencies. Even RPMs were a pretty big improvement over manual compiling or Windows-style installer wizards.
- Numpy (or "Numeric" as it was called at the time). Vector math in clean Python that was mind-blowingly efficient. The only other option that really balanced performance and high level accessibility was MATLAB, but that wasn't suitable for using in an application.
At first, it was just annoying DRM. But it was convenient.
- Before that, you had to manually update your games in order to play the latest version
- Without no-cd cracks, you were required to leave a CD / DVD in your drive
- with the addition of steam workshops, installing mods for certain games became easier. You didn't have to manually copy paste files.
- you have one central friend list, and invite system which many PC games use. It took some time until more companies launched own launchers and fragmented this ecosystem again.
- save game cloud backups became the norm. No need to manually backup a savegame folder if you want to ever reinstall a game.
- the refund system is user friendly (refund if you haven't played for more than 2 hours)
- steam link allows you to stream your games from a PC to other clients locally or through the internet
- steam remote play together allows you to stream a game to a friend for remote couch-coop. Other player doesn't need to own the game and since a recent update, doesn't require a Steam account.
- family sharing lets users easily share a whole game library with friends and family
- big picture mode offers a great gamepad focused UI which is ideal for living room gaming PCs on the TV
- enchanced Steam controller settings which let you configure the Steam Controller and after some updates also other controllers for each game. This even works if the game doesn't have official controller support.
- compared to other launchers it is really fast…looking at you "Xbox Game Pass for PC Launcher" thing
1. Early Ruby on Rails -- Now that MVC/ORM packges are the norm, it's hard to describe how revolutionary the original '15 minute blog' video was. It really felt like a quantum leap for CRUD apps.
2. Uber/Lyft - It has literally remolded the city I live in, by making large areas that are transit-inconvenient more attractive to live in.
3. Linode -- Access to a cheap server that you could spin up/down in a minute with root access was really great, in an era where a server that wasn't just a junk shared host often required months of commitment and started at 100 bucks a month.
4. Google Maps -- Just head and shoulders above mapquest.
Visual editing...I remember when all text editors used a command language that made you keep a listing of the file next to your terminal so you could translate your markup into editor commands. (And, yes, I still know my way around ed.)
SCCS/CVS/RCS: as wonderful as git/hg/fossil and others are, any source control system is better than none.
Tree-structured file directories, so you could separate files of different projects into different directories.
Yes, I HAVE been around a long time!
I don't hear "works on my machine" nearly as much nowadays. Everyone is running the same code in the same environment. It's all there under source control.
Now I can get a project running on a different machine in a few minutes, without any special instructions. That also applies to my colleagues, or people looking at my GitHub projects. My software's interface with the host machine is clearly defined, so there are very few surprises.
2. GOOGLE PHOTOS
No more moving photos around with cables and SD cards. No more tagging anything in Lightroom. I can type "pug" and I'll see every photo of a pug I've taken.
There are no logistics around taking pictures anymore, and it's much better that way.
3. MAPS
Google Maps, but also Open Street Map. Cartography is an incredible blessing, and we take it for granted.
Steam. Just works, simple and easy to use. Copy-Paste the Steam folder to your new system to move your entire game library.
ZoomIt by Sysinternals - excellent, excellent tool that has improved all my presentations/screen-share sessions.
Everything by David Carpenter - super fast system wide search for files that has bookmarks and other features like match using file name/file path/regex etc.
ShareX - Very useful screenshoting/screenrecording + more tool with automation capabilities like auto upload to imgur, etc.
An Uber and a regular Taxi will both get me to my location with similar time and cost. The difference was that I could get an Uber by pressing a couple buttons on my phone and monitor the entire process from an app. A taxi required (at the time) phone calls, waiting around for a taxi to arrive, trying to communicate location, and other hassles that disappeared when using Uber.
Same final product (car transportation between points) but the experience was 10x better.
It's stable, it has good error messages, it supports all the different ways to send email. And it's documentation is just really well and precisely written.
It's just really good.
It's not that I think that Postfix is 10x better than other email software that I use - it's 10 times better than any other kind of software I have used in the 20 years that this has been a relevant question.
Thank you Wietse, thank you Viktor, thank you Ralf and thank you Kyle.
Geometric / Clifford Algebra.
It makes just about every aspect of handling geometry in computer graphics and robotics so much easier. It comes with a ton of upsides and only two downsides: You probably were not taught it yet (so you have to learn it) and if you do, others will have trouble following you unless they learn it too.
I somehow feel like coming from a tribe where we only count up to three, and then being introduced to the concept of natural numbers (and other number classes) by outsiders. As I stared to use it myself, it changed the way I think about things, but now I can't communicate with the rest of my tribe anymore. Yet, I think it is worthwhile and about the only silver bullet I have seen.
If you are interested, here [0] is a nice introduction to one class of clifford algebras.
Yeah, I have so many complaints about them, but for a wide range of use-cases and hardwares, they "just work" now.
In the olden days, Linux desktops and servers, and especially laptops were much more "pets" than "livestock", needing constant attention and care to keep them working, correctly configured, and up to date. Half the time when you added a new software package or piece of hardware you'd end up breaking your X-windows configuration and need to spend six hours getting things mostly working again.
I'm guessing SQL was a 10x innovation at least when it came out, too.
Virtualization.
Git. I've used CVS and SourceSafe before.
LVM. The old MBR way of partitioning is just awful.
systemd and journald, just to be a bit controversial. I really don't miss my days of screwing around with init scripts, or having to parse logs by hand.
Arduino. It makes lots of cool stuff very accessible.
sshfs, it's amazingly convenient.
pulseaudio. Sound on Linux finally works. I spent an unbelievable amount of time fighting with it before.
valgrind. Amazing for debugging memory issues.
Modern hardware. It's only recently that I'm no longer tightly restricted by RAM, disk space or the CPU. I remember the hours spent on freeing up conventional memory, a kernel taking 3 hours to compile, and having room for half the stuff I wanted to install.
Python list comprehensions + ipython: it changed how I approach all compley python code. I iterate over the data until I get it right, then use that as the basis of the program/script.
Youtube: I can learn anything now. It's the real world The Matrix
(I've heard that Pernosco [2] - partly built on rr, AFAIK - is even more revolutionary, but haven't yet tried it myself)
If I wanted to record a halfway decent sounding guitar 20 years ago, I had a couple choices:
1. Go to some studio, spend probably at least $1k, get the stems and transfer them to my computer.
2. Purchase recording gear (microphone, preamp, etc.), which would minimum cost around $1k, and on top of that, have a computer and audio interface. Again, $$$.
3. Purchase some early modeller, some audio interface, DAW, etc. Probably $1k just in that.
Simply put, there weren't any really affordable or efficient method, that didn't sound like a$$.
Today, it's a breeze. Free plugins, free DAWs, extremely affordable audio interfaces.
As far as cost, quality, and efficiency goes - everything is 10x of what we had 20 years ago. And almost everything boils down to the software products involved.
Thinking of when "Paste with style" became the default. :P
It's a simple concept and implementation, but you can plug it in all kinds of things and quickly compose complex tools in a simple manner. You can use it to search (and navigate to) logs, files, git history, external APIs (e.g. AWS). It's amazing.
It could visualize what is the actual architecture (not what we think it is) and show which connections are laggy, or more used, when it should be round robin.
It discovered undocumented connections and could show us laggy requests even if remote system was not monitored by APM - purely based on data from one side.
I could report to developers a particular line of code that is problematic from performance perspective (like "this takes 40% of time of the request, even though it's the simplest task in the process) without knowing much about that program or even coding in general (I'm more of an admin).
I'm a bit sad that tls/http2 basically put the final nail in the coffin, essentially killing the viability (if not possibility) of elegant caching from REST. But arguably it's an architecture that's not needed with today's ample resources (fast networks, fast cpus, ample ram and storage).
Hard to imagine that the defining technology of this decade came out of a classic "screw standards; extend/embrace/extinguish"-playbook.
Thanks to Netscape/Mozilla/Firefox (and opera/chrome) it went the other way.. .
Tivo - pretty cool when it came out - you didn't have to run to the bathroom/kitchen during commercial breaks and hope you made it back in time. Of course it's obsolete now but a significant improvement over the standard at the time
Streaming music services - i spent an embarrassing amount of time as a kid/early teenager collecting cds and ripping them to my hard drive - if only I could have all that time back
The selfie camera on smartphones - pretty self explanatory
MagSafe connector - why they ever removed this is beyond me. I don't know if it made my life 10x better but if extended the life of a laptop a year or two it's worth it's weight in gold
1) Tabbed browsing in Opera/Mozilla in early 2000s. You'd have to open new window each time before that.
2) Moving from Windows Phone 8 (Nokia Lumia) to Android 4.4:
IE Mobile was okayish and pretty standards compliant browser, but could only handle 6 tabs, and switching between tabs would reload the page. Chrome Mobile would open infinite no. of tabs, and easily keep 10-20 of them in memory, allowing to switch around.
3) Two features of Sublime Text compared to old generation editors/IDEs:
- multiple cursors (ctrl-d) make editing very different
- keeping new unnamed files as drafts when closing editor (instead of asking "do you want to save the newfile1? newfile2? ...")
One fundamental change:
4) Firebug. Debugging websites before that was slapping random CSS `border`-s/`background-color`-s and `alert()` calls.
Prior to this everything was based out of tech manuals, now I can find good information fast, and memorize pointless trivia far less.
Unfortunately dropbox the company chose to grow into everything except their core product.
After rough times with ubuntu default package manager I finally installed nix and there's no going back.
Previously installing any software used to be a risky affair that could corrupt the packages or bring some dpkg issue. Now I literally install whatever I find. It's truly game changing. I haven't seen a missing library error since then. Being able to reliably install software across machines with different versions is huge and right now there is no better solution than nix.
Now the CS lab did have a Teletype terminal, though I never used it. But the TRS80 had a real interactive display, not just static paper.
I know there were others before the TRS80. It's just the first one I came across.
- Google Earth: A globe with ultra-zoom just didn't exist before.
- Tex and LaTeX: They revolutionized Academic typesetting and publishing.
- DAWs: I used to use a four-track recorder. When I first got to edit in a DAW with a few built-in effects, that was such a quantum leap. (I was about to write "affordable DAWs" but to be honest these came quite late and my first DAW was a cracked copy of Protools, of course.)
- REALBasic when it was affordable shareware: I've never been more productive than in REALBasic. (Also learned my lesson, though, never rely on commercial tools whose price suddenly might skyrocket.)
- XLisp: I did not end up programming much in it but this was so good and mature software for hobby programmers interested in Lisp during the 90s (at a time when CommonLisp was hard to get outside your university).
- Wikipedia: Doesn't really count as software but I had to include it. It's possibly the most useful Internet-based tool besides email.
- Turbo Pascal. My dad knew nothing about computers, but the Wall Street Journal ran an article about TP, and he knew I was interested in programming, so he got me a copy for my birthday. It allowed me to program almost as quickly as BASIC, but with half a chance of my programs working. (Yes, 50% chance was a 10x improvement). Not to mention, a motivation to learn more disciplined programming.
- HyperCard and then Visual Basic. I never had to learn the guts of a modern OS and its API just to write usable software.
- "Scientific" Python stack. The quality and breadth of the language, tools, and libraries is just stunning to me. I looked into Python because it was getting a lot of "buzz" when I first joined HN. Thanks, y'all.
- Arduino and the higher powered microcontrollers that it supports, for making it easy and quick to whip up applications. But even pre-Arduino, a number of 10x improvements came along for me on the hardware / electronics side, starting with microprocessor interfacing in BASIC, EEPROM based microcontrollers, decent C compilers for embedded.
I highly recommend checking this tool out if you value your time.
Slashdot back in the day.
Digg back in the day.
Hackernews, back .. ... ... .
Java in 1997.
Python and Ruby starting around 2004ish.
- syntax highlighting in text editor
- tabs in browsers (in my case that was Firefox before it was called Firefox)
- DVCS, I've started with Bazaar then moved to Git (of course). Used VCS (painful) and SVN (less so) before that.
- REST APIs and discovering Sinatra framework to write them.
- Rails. First time I saw famous "write blog in 15 minutes" my head was blown.
Language and date time services like Moment and i18n. Huge productivity gains from having off the shelf solutions for multi-language features.
Node.js and Express got rid of all the cruft from backend API development. It’s a breeze to spin up a new API, whereas years prior needed a fairly strict environment setup to run reliably.
YouTube. The user-generated content helped bring a lot of small time productions to be seen by millions of people. Now you can see a video about almost anything, especially if you need a how-to, tutorial, or learn about anything.
Adobe Photoshop's Content Aware Fill, Healing Brush, etc. This changed the game for photo manipulation. You no long had to do it manually by hand using clone stamp. Now the computer does a pretty good job for you.
Smartphone camera. This is more hardware than software, but they practically destroyed the entire compact camera market. Now everyone has a great camera and camcorder in their pockets. Now with their image processing, they're rivaling DSLR images for low-res images.
The standardized structure.
Convention over configuration gave the app a level of consistency that I hadn't experienced before.
2) Lyft - being able to see who your driver was and exactly where they were in route to pick you up, was amazing.
I think the first couple of years of riding I would always ask the driver when they started driving for Lyft and if they enjoyed it.
* MS Word for Windows: today we are used to the spellchecking as you type, but IIRC Word was the first one to have that feature.
* VMWare.. being able to run a Windows VM from Linux in the 2000 was amazing. It also changed the QA processes for desktop apps.
* GMail... 1GB email for free, it was way beyond of any other web email at the time (that and also good IMAP support, and Pop3 with TLS, none of the competitors had that when it launched)
* Photoshop... if you used any image editor, PS was 10x better.
Interactive terminals (over punch cards)
PLATO
Macintosh
Windows 3.11 (over DOS)
C++ (over C)
The Internet (over BBSes)
Windows 95 (over Windows 3.11)
The World Wide Web
Perl (over shell and C)
Python (over scripting alternatives)
Rust (over C++)
- Git push to deploy
- Scaling dynos
- Turning add-ons on/off
- Managed PG (backups, rollback, copies)
I can't imagine how much time I would have had to invest in building my first few apps without Heroku. Had a similar experience with Google AppEngine in ~2009; I barely knew how to code and I was able to charge a customer for the first time ever for a working service.
On Demand tv
DVR
SSDs versus regular hard drives
windowing functions in databases
MP3s vs CDs or minidisks. (Suddenly I could hold 1000 songs in my pocket)
Columnar databases (Sybase IQ, SQL Server, Redshift)
20 tools on 1 device in your pocket.. replaced flashlight, magnifying glass, calculator, maps, notepad etc etc
Multicore CPUs.. Oh I can do 2 or more things while stuff is compiling in the back ground.. and of course async
Ajax.. no more refreshing the whole page
Automated tests and builds..
Heck, it'd be great if clipboard history was baked into the OS.
A few years ago, I timed myself doing a full reinstall on my private notebook to switch to a different partition layout. I was done in 30 minutes, of which most of the time was spent waiting for packages to download and install and for the /home backup to restore. Without configuration management, this would have been a full day of work just installing stuff and figuring out things like "how do you enable palm detection on that touchpad model again".
Actual extensions for Firefox (no, not the awful watered-down thing we have to live with today):
Back when Firefox created the extensions API they had two competitions with (I think) rather huge sum of cash as prizes for the three top spots.
The quality and ingenuity of those early extensions were nothing short of astounding IMO.
Later extensions were also brilliant.
(To fully understand just how powerful the early extension API was consider this: Firebug, for all practical concerns the precursor of todays developer consoles, was just another Firefox extension! Same with adblocking! Yes, ad blockers still exist, but only because of that legacy, no way someone would have proposed and gotten away with implementing that if the extension API had been invented today IMO.)
This improvement was only possible because of other improvements in cloud databases and reductions in storage costs, which allowed us to go from ETL, where we transform the data outside of the database, to ELT, where we load the raw data in the DB and transform it using SQL.
All these improvements taken together allows a single person to do a job that required a small team not many years ago.
5 years ago I finally took the dive into the digital realm with a mixer/soundcard combo and a DAW (logic X).
Forget 10x software, this was closer to 1000x faster.
I’m sure the early days of DAWs wasn’t like stepping into the game in 2015, but the software workflow was stupidly quicker than doing everything physically in real-time.
Now days we have heaps of choices for DAWs and soundcards and cross platform comparability. What an age to be a musician!
Heroku and 12-factor apps easily made building a business 10x easier/faster/cheaper.
Related to this, Tasmota as a platform that I can run on ESP8266 devices to keep my IoT local to my network.
A document scanner connected to Wi-Fi (wish it had the ability to send directly to my laptop instead of having the laptop pull from it, but still 10x better than connecting a USB cable or emailing attachments).
Last night I discovered Tabula, a GUI for extracting tables from PDFs. Saved me more than 10x the time than copy pasting by hand. Fuck banks that only let you download the last 60 days of transactions as a CSV.
Discord is 10x better than most other chat platforms (Slack being the workplace competitor). Mainly this is because of how easy the signup process is.
Django is 10x better than PHP I left.
Pelican is better than WordPress for my needs.
Waze’s ability to search for things along my route (gas, food, coffee, etc.) instead of in my current area.
Reddit. Reddit to me is a community in a box for any new interest. If I pick up knitting, there is already an established knitting community that will have lots of info and helpful people to answer my questions. Same with motorcycles, home improvement, bargain hunting, rug weaving, whatever.
Instagram. It’s 10x better than most social networker for interacting with people. Still sucks, but everything else sucks more.
AirBnB experiences. Had some great tours through them when I visited Italy a couple of years ago and was way easier than the individual scammy-looking tour company sites.
I still have it - though I'm an Android user now...
Single handedly let me both reap the benefits of SVN but opened up shared code, and a greatly simplified setup and management.
- Linux (Linux Mint - Ubuntu)
After years of crashing Windows and Mac's, finally getting on Linux was a dream. App installs, native tools (git), server and database support being top-notch, etc... (ie, my desktop environment was the same as my server!)
- VScode
After years of struggling through various editors, I found one that focused heavily on webdev, integrated with Git by default, and was super fast and open source.
- OpenSSH Server (not sure this is the right name)
Having private key shares between computers made accessing remote resources so effortless.
- Ansible
My latest find. This has probably done more than 10x the value invested in learning and setting it up. Managing multiple servers, computers, setting up new environments, migrating between computers, has become FUN because of Ansible. Setting up a fantastic ansible playbook is like a game or satisfying puzzle.
- Macromedia Fireworks
Combined vector and bitmap graphics, had symbols (like shared library resources), non-destructive effects, live editable vector masks, native file format was web accessible PNG. Wiped Photoshop's fanny for doing web and interface design.
`clang-format` saves a non-trivial chunk of time during code reviews, eliding a very banal topic.
1) Robinhood for normal stocks
2) Disney+ vs AmazonPrime/Netflix
-> HDR for no additional fee, remastered exclusive content, a very full non region-locked (AFAIK) library, consistent streaming quality, straight-to-VOD shows, and premium movies.
->Some might argue not 10x, I can be convinced to agree. It's a solid 1.5x at a minimum though.
3) AWS Workspaces vs RDP
-> Ease of use out of the box is just unparalleled.
I believe its possible Retool will become the next Jira, in the sense that its a totally internal tool that's so valuable companies hire people whose entire job is to just live in it and develop it out.
Yes we also have cross compiling in C/C++ but the extra tooling that cargo/rustup provide make the 10x difference.
2. SQLite, vs fopen and hand-parsed files for any random data storage that didn't rate a full blown remote DBMS. Never using sscanf again!
3. NodeJS. Memory Safety, Thread Safety, No Deadlocks, No build system nonsense, credibly scalable I/O concurrency, and only ~an order of magnitude slower than C? Absolutely worth the nightmare syntax and (then) lack of decent libraries. As soon as npm came on the scene (0.6?) Java ceased to have any reason to exist.
4. Uber. It's like a taxi, but the UI doesn't suck, and they tell you when the car is coming, and the car actually arrives, and they'll pick up in areas other than the 30% of the city and 50% of the day and 60% of the population that taxis are willing to cover in LA!
5. Linux network namespaces + associated tools. So many things I used to have to do on dedicated boxes/VMs, or multiple network interfaces, or single-purpose network equipment. Worth it for per-process ovpn tunnels alone, but you can scale it up to crazy elaborate SDN schemes if you need to. Blows away almost every middlebox and hypervisor networking tool.
6. AWS. There were lots of stick-a-host-on-the-internet services before, but nothing like this: software provisionable, software networking, reliable host-to-host and host-to-storage networks, no lead times... There are credible competitors now but it was a gamechanger for anyone working at the servers > fingers > datacenters scale.
7. This one's kind of goofy, but TimeSnapper. It just takes a screenshot of my display. Every 10 seconds. And saves it into a time-and-keyword searchable database. You can't remember exactly how you fixed that thing 5 months ago that's broken again? I can. The best productivity tool you can get for $40 with the possible exception of 1440 post-it notes.
The Internet / world wide web.
Also in the late 90's I had a summer job at HP and was able to use their cad tools (ME-30 and Solid Designer) which put Autocad, which I was familiar with, to shame. Unfortunately, they were very expensive programs that ran on very expensive computers.
Switching to ML-style functional programming (Ocaml and later Haskell) over C and Perl.
Switching to Wikipedia over the top Google results for a search query as a source of basic information. (These quickly converged to be the same thing.)
After adding a major piece of new functionality to my app, I would step through the new code, fixing each bug as it appeared, and then continue stepping. Being able to produce bug-free code after only one run-through just blew my mind.
At the time I used this really shitty, platform dependant tool,which is only an inch better than Notepad. And then,one day I get to use Visual Studio. It felt like I went from a half dead donkey to Star Trek level tech. Amazing.
control^r is reverse search in the command history (for UI people out there).
I would also mention flight tracking and package tracking, which felt like sci-fi the first time you used them.
I agree that many of the things posted here were 10x better - but this is a selection of the most notable software projects in memory: Not a reasonable threshold for if a business is successful!
Started with FreeBSD for my servers and box, then GNU/Linux on my boxes and laptops, as the hardware support got better on GNU/Linux. Apache, but really the whole stack, what a 10x!
No clicking, no checkboxes, no go to this or that website to download, just run a command or a shell script and pull in software you need, configs, etc ...
Of course I wish we had Lisp machines, but this is what I have to work with. Having *nix, learning it over 30 years ago, and it's still at the core of what I do. So much time saved over the years not re-learning the fads. I shudder to think how much time I would waste on the other platforms and their quirks, planned obsolescence, etc.
Was saved relatively early (enough), an iMac I got as a gift & tried to update to the next OS got fried, was perhaps a bug, some say malevolent design by apple to get consumers to buy new machines. Don't care, done with that platform. Though I did buy an iPad 2 for peanuts, to read on. It's cheap because people can't update it anymore, so there's that.
I suppose I saved about a year of man-hours at this point in life, just using the *nix stack that just keeps on truckin'
& Common Lisp for rapid idea implementation.*
Docker has almost completely eliminated the need for OS-level configuration management. That's an entire class of software that is now virtually obsolete. Developers don't understand this, but Ops people got back like 20-50% of our time, and we can now do Immutable Infrastructure with apps. (Though it appears we traded Puppet for Terraform.... F*#&*@^&^!!!)
Creating immutable images with stock packaging tools and allowing you to build on top of them was the core of the revolution. But the other critical part was the Dockerfile. At first it seems almost stupidly simple. But actually, its genius is in its lack of freedom or functionality. It is incredibly impressive that it hasn't been overwhelmed by logic statements, templating, nested frankenstructures, etc. It's also wonderful that it's constructed for humans, not machines. Probably the best configuration format I've ever seen.
It's definitely not perfect, and there's still a lot of improvement needed. But we're never going back to not using containers. (The only alternative for Immutable IaC at the OS-level are entire VM images built by Packer and a shell script, and it's just not the same)
* Windows Subsystem for Linux - for what I do with Linux (no GUI, some coding, some admin) it's a 10x improvement over using Gnome/unity as a daily driver GUI, VMs, dual booting, or using a Mac (just IMO).
* Postman - I don't know if it was first, but it made debugging requests 10x easier for me.
Some prefer base R or data table, or python pandas, but for me, dplyr is essentially a _perfect_ data manipulation library for small to medium data, and nothing comes close.
Given that for a data scientist, data cleaning is “80% of the work”, and in a world where science is increasingly data science, means that dplyr has done a LOT of good.
Honorable mention goes to ggplot2, the plotting library, and the rest of the tidyverse.
Black [0] has been 10x for me. Automatic code formatting frees up a whole bunch of cycles that would otherwise be spent trying to comply with someone else's style guide, or trying to convince someone to write their code in the approved style. I don't have to anymore.
We have the usual other test equipment from the usual big names, stuff that costs 40x as much. For many jobs, I’d rather have the Saleae.
The big differences between my app and other solutions that they had used were:
1. I talked to users not only to get the work flow right, but also to refine it. This also helped with buy in once the app started being used.
2. I made it easy to use for the user base (most were not very tech-savvy).
3. Related to 2, I made it hard for a user to fail.
- collaborative docs like google docs, google sheets, quip.
- cloud sync like dropbox (also evernote, icloud, google drive)
- group voice chat
- open source package management (all of rpm, yum, dpkg, ports, npm , cpan , etc, etc ) – at a high level, run 1 command , get all the deps you need (and a license to use them) to build your software.
for me its a lot of what others said +
- Python as the default for scripting/automation: instead of using bash/batch/autohotkey/
I felt like I had done them a disservice for not sharing this sooner.
Readline is fantastic. I wish even more OS components were standardised (e.g. Firefox tabs and Inkscape dialogs just being windows; let my WM handle the layout.)
1. Google Search - before Google came out, it was wading through Alta-vista and Yahoo's hand picked pages and ignoring the 50% adult content spam, or using a physical 'phone book' of web pages
2. Google Email - when it game out, the fact that it had gigabytes of storage was astounding
3. Wikipedia - this became one of the first resources for most queries that weren't highly specialized and, even, then, sometimes Wikipedia would come through
4. Stack Overflow - hours or days of debugging are reduced to a search with an occasional copy/paste
5. Arduino - suddenly electronics became within reach and was reduced, for the most part, to software, all for a fraction of the cost microcontrollers and electronics were just a decade previously
6. Amazon, Aliexpress, Ebay - to a certain extent. Each provided a trove of sellers with access to items that were previously very difficult and expensive to find, sometimes with a 10x difference in price or accessibility. They've all kind of normalized out now but there was a time when they were more differentiated.
7. Raspberry Pi - A full linux box with a Ghz processor for $20-$50. There was a time when we were talking about the $100 laptop as the great white whale
8. Archive.org - one of the few resources that has an astounding amount of public domain work that can be searched, sorted and downloaded
9. Github - the amount of free/libre/open source software that can be accessed and used is at least an order of magnitude larger than it's closest competitor (Gitlab? Sourceforge?). It's not just investing in Git's source management model, it's also providing a clean interface to search code and present projects cleanly
Maybe these are all obvious but you did ask...
Here are some software projects that I think give me a "10x" boost or I think have large potential:
* Bootstrap - Before bootstrap, I could barely cobble a website together that didn't look like it came out of the 90s
* Clipperlib - When you need to do 2d polygon boolean operations, in a programmatic way, Angus Johnson's clipperlib is it
* WebAudio - I'm still playing with this but this provides an entry point to music creation that was orders of magnitude more painful before. Currently I'm playing with Gibber (gibber.cc)
* Face Recognition - This is now a Python package that you can use to find faces in images. This used to be bleeding edge technology just a decade ago
* Mozilla's DeepSpeech - though it still has it's problems, for someone who has a mind to, they could theoretically make (an offline and FOSS) competitor to Google's Dot and Amazon's Alexa
Unix/Linux in general provides many orders of magnitude more productivity than any other environment I've worked in (at least for me) so I'm not sure it's worth going into all the tools, "classic" and recent, that help me build software, analyze data, do data wrangling or any of the other myriad of tasks that I do.
Wouldn't count them as developer tools per se, but as a software provider, I could serve a lot more customers with ease and confidence thanks to hundreds of thousands of man hours put in by the Wordpress and Drupal developers.
Zsh/Oh-my-Zsh (from Bash)
Virtualization. Making it practical to run 2 or 3 different OSs on the same machine has saved me countless hours. Docker is good but it's a smaller step
2. Steam Proton, most of my library of games just works and it is in easy and convenient format.
3. Norton/Midnight Commander style of file managers.
4. Live CD distributions.
5. Password managers (Keepass)
It completely redefined what was possible for a solo developer or small team to create. Easy to learn, yet very flexible for experienced users. And moving from C++ to C# was a real game changer.
10x is quite much so please excuse if I am a bit conservative.
1. Pong
2. First BBS connection (on a 300bps modem)
3. Mosaic
4. Altavista
5. Napster
6. Gmail
7. Google Maps
8. iPhone 1 (followed by the first homebrew apps, a full year before AppStore launched on iOS)
9. Patreon (ok, this one is not sw related)
10. Bitcoin
Bonus (both sw and hw): Oculus Quest 2. 10x compared to DK2 or other early VR prototypes I tested in the past decade.
I admit that it was my first real automated backup setup. But I guess it was also the first for many other people.
And the UI for recovering lost files by scrolling back in "the past" was just like magic.
WebUSB Printing and Postage Scales - (one click postage label creation without installing software/drivers or going through the OS printer queue is magical)
ClickHouse/BigQuery have allowed me to tackle massive analytics projects with a tenth of the effort when I had to setup a map-reduce/spark infra.
I'm honestly surprised it's not more widely adopted, the ability to have a shortcut key to access the last X things I've copied to the clipboard has made a huge difference in my dev work.
Going from a 300 baud modem to 1200 baud modem I guess is technically only a 4x difference, but it definitely felt more at the time.
Terrific list and discussion! I especially like the old school visual debugging tools: firebug, wireshark, physx / nsight, etc. Really brings back the memories and really believe in general having a picture of running processes is 10x more helpful than console output alone ;)
Roon is a home audio platform. It plays on all the devices in my house.
The 10x difference is during parties. The iPad with the interface on it gets passed around and people queue up music they like, but also get to read about what is playing. It gets magical when people pipe up "Well, if you like that then try this..."
I don't know why make such a difference compared to an iPad with Apple Music, or Spotify. My guess would be the music reviews, and its "take music seriously" presentation, encourages people to think about the music as more than just background noise? Anyway. Very happy.
Internet Explorer 4.0
As somebody who wrote web apps back in 2000ish, IE4 was lightyears ahead of Netscape 4. Basically IE4 was close to what we have now, and NS4 (or opera), could barely switch a color with JavaScript. While lot's of the standards were already defined, NS4 would crash constantly (when doing JS). That was at a time when NS4 was the beloved browser and IE4 tried to catch up (remember the lawsuit because they tried to bundle it with windows). Well they also made the much better browser. Enough robust to built the first web apps.
How much better is it to run a script to extract image file names out of a big csv file and convert them into a different format in a different directory if you were doing that by hand before? 10x? 100x? more?
Mac OS X - Moving from Windows ME on my Packard Bell tower, to an iMac G3 with Mac OS X was quite a pivotal moment in my life - everything just felt smoother, it was actually nice to use an operating system, not a battle.
Heroku.com - The ease of getting a Rails site live was 10x better than setting up your own server.
Git - I was always messing up SVN systems, as soon as I switched to Git it just didn't seem possible to mess it up.
Instead of a dozens of emails and/or texts, phone calls etc. to find a time when someone (not in my organization, so they can’t normally see my calendar) can meet, I just email a link and they pick. It will add call info or zoom links as appropriate. Tons of control over scheduling (synced to all your calendars, or even several people’s; buffers; limits to meetings per day).
Basically it eliminates needing a secretary or recruiter or admin person to arrange meetings.
For instance large parts of the company where I am currently working still does not have short-lived feature branches. CI means after checking into the development branch used by everyone else you have to wait minutes up to hours to see if your changes broke something. Only seeing the pain and wasted time regularly lets you realize how much easier you have it now.
2. Erlang. It was a 10x boost after doing a whole lot of CORBA/J2EE crap. I was quite late to the party even in the mid-90's.
3. Google search, maps compared to offerings from Altavista, Excite.
4. Turbo Pascal compared to anything else before it. I don't think I have experienced that level of programming pleasure since then.
5. HotJava on the browser. It was sad how Microsoft neutered the whole Java on the browser initiative.
6. Git. So much faster and pain-free compared to SCCS, RCS ..
Any tool that automatically captures a lot of data needs to be used with care (eg verifying that no sensitive data is sent to the server), but many tools in this space make an effort to scrub the most common fields. In practice, the payoff has been worth it most of the time.
Later, I switched to Gamestream because the performance is vastly superior. Eventually, I'd like to enable multiple devices playing games from the same server... I might have to switch to a VM setup.
Mosaic, the original "best viewed with" browser, which brought us inline graphics.
Netscape 3.0, the first "to the masses" browser, which made not only browsing, but authoring too, accessible for anyone and everyone.
Internet Explorer 3.0, not quite 10x, but it was the first browser with a truly beautiful UI/toolbar, still one of the nicest looking ever in my opinion.
Lynx, one of the oldest browsers, allowing Web access to countless individuals otherwise in countless scenarios and situtions.
Opera 3.0, the super fast browser which tried to stick to standards. Along with my own add-on to give it status-colored tabs, this was my first "better than mainstream" browser experience.
Internet Explorer 4.0, the first browser which had true DOM, true dynamic HTML, if you coded carefully.
Netscape 4.0, the fastest browser for a long time, one I stuck with longer than most gave up. Proper caching, and blazing fast rendering of uncomplicated HTML.
Internet Explorer 6.0, with reasonable standards support, DOM, CSS, and embeddability with full DOM access from the parent app, a breakthrough in scraping abilities.
Opera 12.0, even today one of the best standards-supporting rendering engines, fast beyond imagination, fully Acid compliant, stable, and one of the first single-key shortcut supporters.
Mozilla Suite and Firefox 1.0, the best browser of its day, not only fast and flexible, but allowing previously unimaginable UI improvements and enhancements, spurring an era of creativity in development.
Vimium/VimFX, a new level of keyboard accessibility in browsers.
Links, and Links2-GUI, a new level of rendering prowess and accessibility in the console
w3m, the console browser beast for nerds, with even better accessibility (albeit with a learning curve) and customizability.
And, last of not least, the King of hacker-friendly browsing as of today, qutebrowser, a whole new level of stability, accessibility, and clean design, albeit with a week-long learning curve.
Google being Google... I still backup my photos elsewhere, but I'm more than happy to keep paying for the convenience that it offers. It's amazing that I can pull up photos from 10 years ago on my phone on a whim.
(I guess that's not strictly software, since it needs a basic digital camera.)
The Ruby framework was a game changer for me to quickly prototype API concepts, experience what the client developer experience would be like, and learn best practices.
A tool that automatically downloads dependencies, manages their transitive dependencies, resolves conflicting artifact versions, is able to check for changes, constructs proper classpath, standardizes builds, compilation, testing, artifact storage and versioning.
The onboarding went from days of fiddling to "just download Maven, run mvn install and off you go"
Retool
I just started using them, and it saved an ungodly amount of time setting up internal dashboards. Typically speaking internal dashboards are an afterthought, don't work well, accumulate a lot of tech debt, and yet are indispensable to running an online service. Retool isn't perfect, but what you get is way beyond anything you'd be willing to build for yourself early on.
Before JSON, XML and other standardised data exchange standards became a norm. And Java was still playing the catch up game with libraries. Perl was the the go to tool for achieving over a weekend what projects done in other languages took months to achieve. This was true as early as 2012.
Those days are behind us. But it was some thing like a magical tool back then.
Before I’d spend weeks researching things, making my own spreadsheets. Now it’s just a five minute ordeal to find the best gift.
In many ways this was the killer app for first version iPads. It's still top-echelon, and a delight to use (mostly).
Notepad++ with tabs and keeping the tabs session saved.
These never used to be realistically available to retail trading, but are incredible financial tools if you take the time to understand the mechanics.
It's so nice being able to have programs that extend programs. Rather than needing to build a big robust program with all the features built in, I can have tools that access & enhance whatever other program is running. This is such a better model for software, so much more creative & extensible, & having this modular software environment for media playing has absolutely has been a 10x experience over monolithic applications.
[1] https://specifications.freedesktop.org/mpris-spec/latest/
2. Resharper from Jetbrains and all IDEs from them. Using something like Eclipse was such a pain and nightmare.
3. Cloud and SaaS as a concept. Everything just became 10x better when moved to SaaS.
At the time there were some motions towards a "better MapReduce," Scalding (ooh weee that had a learning curve) comes to mind, but I feel like Spark really lowered the bar for getting big data tooling and the ecosystem into mid level and pre-ipo orgs.
Also, if this isn't considered as cheating, Python. Now I can automate everything without worrying the quirkiness of shell scripts.
My work setup hasn't changed much in the last two decades.
A happy user. It helps you connect data from multiple places and write to a single source. Anyone know a smiliar open source project like that?
The 10X was not just that it made it easier and faster to make exceptionally beautiful plots. Rather it was that it made me realize for the first time that software was, fundamentally, about an implementation of ideas. That the underlying idea, together with how well it's communicated through the API design and documentation, really matters. Reading Wilkinson's description of the grammar of graphics, and then seeing that translated to a code library... That was amazing. It defined what I think software is, as someone who was new to the world coming from an engineering background where coding was just an easy way to do linear algebra.
1. Ride hailing apps like Uber, Lyft
2. Wix.com and similar website builders
Mobile app development used to take a lot of effort with separate builds for iOS/Android and low code reuse. React Native changed the game and made building mobile apps easy and much less expensive.
- fibre
- Smartphones
- gpus
- starlink will be one
More personal:
- language servers/linters
- Package Management
- a mouse
- dictation
- Photoshop layers (non-destructive editing)
- Bryce (3D for consumers)
- Flash (easy rich media web apps)
- Flash video (online video explosion)
- Plex (easy digital media collection)
- Traktor DJ Studio (digital DJing)
- Wordpress (self-hosted CMS)
- Pacemaker (auto-DJing app)
but similar services like Firebase are okay, I guess.
for me they were really a jumping off point to doing similar things myself slightly more manually
It's so much better than React or Vue. It's generally the same ergonomics as a developer, but the speed and simplicity when you push into the browser is revolutionary.
And maybe jumping from a 286-12 to a 486DX-33.
¯\_(ツ)_/¯
In two years we went from Win3.11, delightful cooperative multitasking et al. Via Win95. To something that would survive a nuclear bomb.
Then security happened.
SideKick - Being able to pop up and edit underneath a running MS-DOS program was a game changer for me
Turbo Pascal - Being able to compile programs in less than a second in MS-DOS was magic, compared to 15min - hour waiting for the compiler queue on the VAX at school, only to find out you had an error.
Backpack Portable Hard drive - A piece of hardware, but being able to boot a floppy and have 100 megabytes of storage instantly available was like magic.
EDwin - TurboPower Software - the first text editor (that I used) that could record and playback macros, I did all kinds of cool stuff with it.
GoBack - A system tool that kept all the changes to your hard drives.. the salesman demo involved deliberately infecting a system with a virus... then undoing it via GoBack. Unfortunately the wrong people decided it was too slow and "optimized it for speed", which killed the ability to undo virus attacks.
MultiLink - Allowed running of multiple MS-DOS users with serial terminals, usually a Wyse 60.
The $25 network - Allowed the very slow emulation of networking, with just plain old serial ports and cables. Saved hundreds of dollars if you only need a file now and then, back when Arcnet cards were about $100.
Delphi - GUI development for Windows that just works, and like Turbo Pascal, compiles in a blink. Drag your components into a form, hook up the events, make a report or two, and you're done.
Microsoft Office - This one is way under-rated
Microsoft Excel - Reactive programming, comprehensible by humans and accountants.
Microsoft Word - The outliner is quite useful for keeping track of tasks, and the details of projects
Microsoft Access - being able to do a forms based database with nice reports, master/detail records all with zero SQL required is powerful stuff
Microsoft Exchange/Outlook - Exchange is *the world's best database* disguised as a task manager/calendar/email server/client. You can make offline changes, and they just work consistent with expectations.
WebDAV - Uploading by just copying to a folder in explorer was far more intuitive than FTP.Mercurial - Being able to keep old versions without sucking up the hard drive was very nice.
GIT/GitHub - Being able to keep all versions, branches and push them almost instantly to the web.
Python - The ability to get a lot done in almost no code is very powerful. It's too bad that there's no good GUI for it that works as well as Delphi.
VMware - Ersatz Capability Based Security - The virtual machine gets a set of resources, and nothing more. It'll do until we get better Operating Systems. Being able to save a machine as a file is a very powerful thing.
ThumbsPlus - A photo organizer from Cerious Software, keeps thumbnails in a database, does tagging, etc.
Picassa 3.0 - Killed by google, does local photo management, with local facial recognition, helped me tag the more than 10,000 photos of my daughter. 8)
Hugin - Panorama alignment software - very handy for my experiments in virtual focus/synthetic aperture photography, and for doing landscapes.
GIMP - Orders of magnitude better than Microsoft Paint
WSL - Windows Subsystem for Linux - Allows me to run Ubuntu and Windows programs at the same time. VScode supports running you compiled code in Linux, while it lives in Windows... wizardry!
GNU Radio - If you have a fast enough machine, you can build almost any type of radio you want in a flowgraph, and it supports $25 USB dongles that receive 25-1200 Mhz.
BUT that got me thinking: Could it be that a large portion of the 10x improvement could be in marketing, i.e. you'll have to be able to market your product as "10 times as good", regardless of whether or not it actually is?
AND secondly, could it be that many if not most products that are marketed as 10x as good are also - at the same time - 10x worse?
Just picking random examples from the thread:
- Gmail: Definitely 5-10 times better than Outlook Express or Horde. But also at least 10x worse when it comes to support, privacy, flexibility, agency in regard to your own data and server configuration and many other areas.
- Siri/Alexa: Speech recognition and what you can do with it is easily 10x better than what existed before. However, again at least 10x worse in terms of what you can control about the underlying technology and hardware and in terms of (controlling) what happens with the recordings of your voice. Also, if you want to go so far (someone mentioned dictation, more generally) you could also include lost jobs (e.g. secretarial jobs/assistants). Not convinced so much myself by this argument though.
- AWS Workspace: That might be somewhat more cost-effective and easier to set-up than a local VDI infrastructure. But in many ways it is, or can be, 10x or infinitely worse than having your own server.
- Wix.com: 10x easier to use than Notepad++ for web development (if you don't know what you're doing) but arguably at least 10x worse for good websites, web developers and designers, people locked into subscription payments, limits on flexibility etc.
Other "great innovators", like Reddit (severely optimised towards monetisation, data extraction and advertising over the last years), Uber (questionable employment practices and corporate culture), even Google making memorisation unnecessary (everything's just a click away... but what happens if the internet is down?) and Amazon ("killing local businesses since 1994" ;-)) also could be argued to come with severe downsides.
Personally, I would greatly appreciate much more widespread 2x innovation vs. chasing the rare unicorn 10x innovators.
70 MBit/s internet would be much nicer than the 35 I can get right now. I don't need (nor would be willing to pay for) 350, let alone if the 350 are only available in large cities. If Gmail was just one tenth as innovative in parsing my mails for data nuggets and instead cared ten times more about my privacy, I would be more than okay with that.
Personally, real 10x innovations without large apparent downsides (although there might be some) for me right now are Wikipedia and Starlink. I also want to mention Delphi, whose approach to programming and UI design was at some point definitely a 10x innovation over existing solutions at the time (in many ways it still can be 2x as good even today, but unfortunately, they've also increased the price 10x and stopped caring for their users).
On a grander scale, a well-working and ethical interplanetary species/society might also be a 10x improvement over being confined to Earth only. But that might very well turn out to be incorrect.
As always, if you disagree, please DON'T downvote, instead reply and tell me why and how you Think Different™. I post here because I'm curious to discuss, not just to share and read isolated opinions.
It just works. No more dealing with codecs, or having multiple players installed for different media types.
Reading books on an iPad.
React.
Discord for any interactive online communication (text/voice/video chat).
I never thought programming could be so enjoyable and eloquent.
+ Ruby on Rails
I never thought building web app from scratch could be so quick and fun.
- Wolt (vs. Lieferando, Germany)
- Hey (vs. Gmail, Fastmail)
Even just using it to simplify equations was worth the asking price.
+ Homebrew
+ (DIY) Aliases in my shell profile (.bashrc, .zshrc, etc)
2. auto-update feature on Google Chrome
3. Uber/Lyft
4. ZFS
5. Cheap VMs (R.I.P. Slicehost; DigitalOcean, Hetzner, etc.)
6. Ruby on Rails
7. Postgres
8. Spotify
9. 1Password
10. Arq backup
11. Dropbox
12. Wireguard
1) managing resources manually, be it memory, storage, organization, etc 2) giving information that the computer already knows 3) waiting
So I count as 10x innovations, things which massively reduce those three:
1) Plug-n-Play, DNS, and all forms of auto-configuration.
2) WiFi, LTE, and Broadband. Seriously, I started on 300bps modems in the 80s, and my first internet access was at 2400baud in the late 80s over dialup. It's hard to remember how long I used to have to wait, for pretty much everything.
3) Web vs "install". Web Surfing created a new stateless paradigm: Always up to date, effortless changing, like TV channel surfing, and as soon as you leave the site, you can forget about it. No "uninstalling", no shit-work created for later cleanup. The Web Cache eliminated the need to INSTALL. Regrettable, Steve Jobs reintroduced this paradigm back, which I think is a huge step backwards. Phone apps should stream in as needed and be cached, and be evicted when space is needed. I should never ever have to visit my phone's storage page and delete stuff.
4) Automatic information organization. Search. Web Search, Gmail bundling/auto-folders/priority/spam detection, Google Photos. Google Photos is the latest example. I take as many photos as I want. I never organize them. I don't make albums. I don't do anything. Peace of mind. My stuff is there. And When I need to find that photo of my daughter with a panda and a yellow raincoat, it finds it.
Don't waste my time with uploading and organizing my photos.
5) Service economy. Uber, Doordash, Amazon. I need something, or I need to get somewhere? It's incredibly easy to get it, and get it quickly, compared to what it was 20 years ago.
6) the iPhone. I was an early adopter of smart phones for years. PalmPhones, Nokia Communicator, iPAQ, etc. It wasn't until the iPhone combined a full-screen touch interface with a REAL Web browser, not XHTML Mobile, or WML, but a REAL browser experience, combined with fast WiFi, that the phone truly turned into a usable mobile experience for me. Sorry, but even expensive Nokia smartphones, and Java Personal Profile, and Wifi-enabled feature phones, or XHTML Mobile on Opera Mobile, couldn't hold a candle to this. The iPhone 2g also had usable YouTube and Google Maps out of the box. It was a quantum leap.
7) The Voodoo1 3DFx. It's hard to describe, but the Voodoo1 + Quakeworld was a tipping point, to me it marks the dividing line in history between gimped, and shitty wannabe 3d accelerators, and the first one that had enough power and capability to run a real time multiplayer first person shooter. (Also, hats off to Carmack's ping compensating netcode)
8) Linux. I started out on BSD (FreeBSD), and before that on IRIX, HPUX, and Solaris at college, but there's no denying that Linux was the inflection point for widespread adoption of Unix everywhere. And that widespread adoption meant anything else you wanted to do was much easier. In the 80s and 90s, whenever I downloaded Unix software, getting it to compiler was an exercise in frustration, patching, Configure scripts, compiler errors from incompatible .h files or libraries on your system, etc
9) Containerization. Enough said.
10) git / hg, github. If you grew up on CVS and SVN, you know why.
I mean, there's lots more, but I would say all of the innovations boil down to reducing or removing cognitive burdens and lost time. If you can do something for me without me having to worry or work on it, and/or wait for it, you might be 10x.
Don't ask me to do stuff. Don't make me learn stuff. Figure out what I need to do, what I want to do, and help me do it, getting what you need by osmosis, or by asking for a minimal amount of information.
oh, and if other people have already done it, making it really easy for me to find and reuse, or to share.
2) Framework. The best way to understand this 1980s "integrated software" (as office suites were called in the 80s) is as "Emacs for the office". Usually, until Microsoft Office, integrated packages offered cut-down, entry-level versions of a word processor, spreadsheet, rudimentary database like a cardfile, and maybe a telecommunications program. Framework was different. It was basically a self-contained pseudo-GUI, in which documents and spreadsheets were represented with the unifying metaphor of a frame. Each frame, drilling down to individual cells in a spreadsheet which themselves counted as frames, was addressable, and frames could be nested, allowing for compound documents containing word-processed reports, spreadsheets, imported database data, and even graphs and charts. And, much like Emacs, it was scriptable in a Lisp-like language (though Framework's language had a Lotus-inspired @function syntax). Every frame could have code associated with it that responds to events. It was so powerful, it was marketed as an executive decision making tool, not a productivity tool for office drones. It was WAY ahead of its time for 80s software.
3) The Video Toaster. Professional grade video effects in your bedroom studio. Perhaps single-handedly turned amateur video from "home movies" into actual productions. In an era well before YouTube, when video was still analog and equipment was prohibitively expensive. With LightWave, it also gave you an inexpensive option for the then new and hot technology of 3D CG. Required an Amiga because of course it did; what else could handle all this?
4) Tcl/Tk. Still to date, the fastest way to author a GUI, as it was in the 90s. I would take entering a few lines of shell-like script to lay out a GUI over the (admittedly powerful) form designer tools in environments like Delphi any day, just due to the rat wrestling involved in the latter, and the fact that Tk's layout options do a much better job of placing widgets in various window size and configurations than I could manually in the form designers back then. And recently I tried to put together an Electron app with $HOT_FRAMEWORK_OF_THE_WEEK, and spent several hours figuring out how all the pieces fit together. With Tcl/Tk, I said 'sudo apt-get install tcl tk' and was prototyping in wish immediately after. Tcl may be a crazy-pants stringly-typed language from space, but it's still the best thing for throwing together GUIs quickly.
- apt
- maven
- npm
You can't imagine the pain not having them.
* MapReduce
* Column stores
- Google Suggest
- IntelliJ IDEA
- Ruby on Rails
- TiVO
- iPhone
- Roomba
- Napster
- TurboPascal
It was one of the first small devises that connected to the Internet. I was in Goodguys when it was closing down. They had a highly crooked third party liquidator selling off the merchandise.
I’m not into games, buy saw Halo 3 Collector’s edition for 5 bucks each. There was 500 games for sale.
I took my beloved Palm Tx to the library across town. It had free Wífi up to 9 pm. (No password—just connect.) I got a rough idea what the retail on the game was going for.
I went back and bought all the units. Sold all for $30-50 on eBay, and it felt great. So many mothers emailing me, “I have no idea what you sold my son, but he hasn’t left his room, and loves the game.
I remember thinking I will make a fortune with this devise.
This was just when the internet was getting reliable, most people just had a dumb cell phone.
I blinked, and it seemed like everyone had smart phone.
Anyway, I really liked Palm products. The quality of the hardware was outstanding. The software was just ok, but for the time, I thought great. I once tied a gps to a Palm tx, and took a river trip down the Rogue River. I could tell when the class 4-5 rapids were coming up.
It’s to bad what the company has turned into.
Edit: to make it more clear:
>how and what
Meaning, do how I tell you, vs. do what I tell you.