Ask HN: What are some “10x” software product innovations you have experienced?
441 points| pramodbiligiri | 5 years ago
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/
[+] [-] jasode|5 years ago|reply
+ 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.
[+] [-] deckard1|5 years ago|reply
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).
[+] [-] rudyfink|5 years ago|reply
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.
[+] [-] jakevoytko|5 years ago|reply
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.
[+] [-] jasode|5 years ago|reply
Also don't forget that Gmail at the time had the most intelligent spam blocking algorithm compared to AOL/Yahoo/Hotmail/etc.
It was a big enough deal that some observers that switched to Gmail considered the email spam problem as "solved" because Gmail seemed so good at it. (On the other hand, many independent people trying to run their own SMTP servers think that Gmail is too aggressive with spam filtering because it also blocks many legitimate senders with low/unknown reputation.)
[+] [-] narrator|5 years ago|reply
Other providers were probably using expensive NASs with huge profit margins built in. Google was using thousands of the cheapest crappiest commodity parts because it was all triple redundant... and it worked faster because the network was really fast and multiple computers could stream different parts of the same file to clients.
[+] [-] apohn|5 years ago|reply
Gmail was not just 10x. I think it redefined what a good web based email experience could be. I think it completely changed what people realized and expected the web browser could be from an interactivity standpoint.
[+] [-] anderspitman|5 years ago|reply
I guess there are probably a lot of people here who are too young to have ever used those early versions. You also had to scrounge forums for an invite code.
[+] [-] macNchz|5 years ago|reply
[+] [-] thraxil|5 years ago|reply
- 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.
[+] [-] Farbklex|5 years ago|reply
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
[+] [-] showerst|5 years ago|reply
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.
[+] [-] mchusma|5 years ago|reply
[+] [-] girishso|5 years ago|reply
[+] [-] eps|5 years ago|reply
C with Classes was a very welcome advancement over C.
Watcom C/C++ compiler with DOS/4G extender was a pure fucking miracle. Need 1MB in one chunk? Just call the damn malloc().
Windows NT was a phenomenal leap forward for desktop OSes.
[+] [-] paxys|5 years ago|reply
[+] [-] aerovistae|5 years ago|reply
[+] [-] hackmiester|5 years ago|reply
[+] [-] practicalpants|5 years ago|reply
Yes, with Uber and equivalents around the world, I have zero reason to own a car. My driver's license expired years ago and I can't be bothered to renew it.
[+] [-] ralmidani|5 years ago|reply
[+] [-] justinzollars|5 years ago|reply
[+] [-] CalChris|5 years ago|reply
[+] [-] dimal|5 years ago|reply
[+] [-] quesera|5 years ago|reply
Pedantry, but: SCSI is parallel, not serial. The distinction is the number of data lines in the cable -- serial has one line, and SCSI has 8 or 16. This allows for much faster data transfer rates, at the (significant) expense of greater complexity and cabling cost.
The other advantage of SCSI is the ability to connect to multiple devices through "daisy-chaining". Old-style serial connections (RS-232, RS-422, etc) were strictly point-to-point.
Modern SCSI (SAS) runs the SCSI protocol over a serial connection, because port clock speeds are now fast enough that the parallel advantage isn't important for most uses.
Not to detract from USB though. It was an improvement over all of the above, and nowadays it's pretty fast, too.
[+] [-] mikewarot|5 years ago|reply
No, SCSI was worse than that... you had 5 or so different types, about 5 different connectors, and you had to terminate things, set the dip-switches just right, have the right Adaptec card, with the right drivers, and if you didn't look at things too hard... you might be able to take a $5 CD blank and get a good burn on it... otherwise you had a $5 coaster.
I hate SCSI because I always had the SCSI Blues.
[+] [-] analog31|5 years ago|reply
[+] [-] grumple|5 years ago|reply
[+] [-] 1970-01-01|5 years ago|reply
[+] [-] Nekhrimah|5 years ago|reply
[+] [-] paxys|5 years ago|reply
[+] [-] quickthrower2|5 years ago|reply
[+] [-] benibela|5 years ago|reply
[+] [-] asidiali|5 years ago|reply
[+] [-] dopeboy|5 years ago|reply
[+] [-] petepete|5 years ago|reply
I believe Google penalised them for doing it so they used another sneaky trick where they showed a obscured/pixelated answer first and then the actual one further down than most people would scroll.
SO was better in every way.
[+] [-] scubbo|5 years ago|reply
[+] [-] jimbokun|5 years ago|reply
[+] [-] Mandatum|5 years ago|reply
[+] [-] billfruit|5 years ago|reply
[+] [-] redis_mlc|5 years ago|reply
[deleted]
[+] [-] vincent-manis|5 years ago|reply
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!
[+] [-] nicbou|5 years ago|reply
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.
[+] [-] bps4484|5 years ago|reply
[+] [-] tootie|5 years ago|reply
[+] [-] atian|5 years ago|reply
[+] [-] passivate|5 years ago|reply
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.
[+] [-] PragmaticPulp|5 years ago|reply
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.
[+] [-] yosamino|5 years ago|reply
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.
[+] [-] AlexB138|5 years ago|reply
[+] [-] Lichtso|5 years ago|reply
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.
[0] https://arxiv.org/abs/2002.04509