15 ms·
The Return of Fancy Tools
- drawkbox 5y agoGood games should be easy to approach and difficult to master. Good tools should be easy to approach with the ability to customize and do more advanced actions, but never difficult Good tools and products encapsulate complexity but still allow access to it where needed. Good tools aim to simplify complexity, not complexify simplicity. Good engineers and product people make tools that aim to simplify. Make it approachable to a n00b/junior but no bullshit for the experienced, or at least the ability to turn off the bullshit and lock-in. Always aim to abstract complexity into simplicity, that is the job.
- aflag 5y agoI don't think good tools are necessarily easy to approach. Some of the best tools I know have quite a steep learning curve. A good tool is one that gives you power. It makes difficult and complicated tasks easy and simple. It may come with the cost of getting good with using the tool, but once you master it, you don't know how you lived without it.
- typeofnandev 5y agoThere's a lot of truth to this. I feel like I'm willing to really dig in and learn a tool if I can sense that the power of wielding that tool will be commensurate with the difficulty learning it.
- runevault 5y agoA good tool picks an audience and builds everything with them in mind. You can make a tool aimed at beginners of some discipline with the understanding it may not satisfy power users, but that doesn't make it a bad one, just bad for that audience. Same in the other direction, tools aimed at optimizing power users ability to do their task may seem completely impossible to a beginner, and that's totally okay.
- Kinrany 5y agoAudiences change over time. Projects need something less ephemeral to aim for.
- pessimizer 5y agoA good tool is one that works, and works predictably. If it can just stay reasonably dependable, I'll come up with ways to use it to its limits.
- dejj 5y agoConsider “affordances”: a chair may be used for sitting, or as a weapon, or as kindling etc. Likewise, a good tool is made to be approachable for the beginner, and open-endedly extensible for the expert. They’re the same material, but the hand movements of beginner and expert are very different. Analogously, consider how Simpsons episodes have 2 affordances: to be funny for children and for adults, each for their own reasons.
- wraptile 5y agoI like what Douglas Engelbart said about good tools (paraphrasing): if you use a tool the same way on the 1st day you acquired it and a year later - it's not a good tool. Which I feel a lot of modern software struggles to provide. Sure I can onboard quickly and do _something_ but if I'm spending hundreds of hours I want to get better at it and improve my returns.
- jiggawatts 5y ago"Good tools aim to simplify complexity, not complexify simplicity." Some people don't realise that this is a goal, or that it's even possible. At Microsoft, this was the philosophy behind the .NET Framework standard library. It is simple, beautiful, and abstracts away reams of complex boilerplate that was necessary with C++ programming. Now? I'm using Azure, and... oh... my god. Every internal piece of wiring is exposed, raw, to the end-user. Wear insulating gloves. You need to know their internal project code names! The undocumented ones are typically the most important. You need to pass secrets between two agents running on the same VM through your workstation during deployment! Need to pass an identity around? It's broken up into individual fields, one of which can only have a single valid value. But you have to provide it using a programmatic lookup. Want Accelerated Networking? There's a convenient Boolean flag for it. Great. Except that it'll break deployments if the VM size you've selected doesn't support it. How do you know if a VM size supports it? Bahaha... you don't. Build a switch statement with 300 entries yourself. That's what the Indian subcontractors writing the rest of Azure's code do! It's good enough for them, so it should be good enough for you. (I wish I was kidding, but I have seen the code and it is literally this.) Ultra Disks? Switch statement. Availability Zones? Switch statement. You get the idea... I have spoken with several Azure team leads, and they just blink at me slowly with an utter lack of comprehension when I explain that this is just not good enough. That in Visual Studio, I can tab-complete a type and it will compile. That 100% certainty is not comparable to 90% certainty in Azure, where a boolean true value might need to be the string "true" value because fuck you.
- pjmlp 5y agoAs long time developer on the Windows ecosystem I really don't get what happened. I fully agree with the experience, add on top of that CLI tools for what used to be VS wizards, code instead of GUI designers, killing C++/CX replaced by C++/WinRT, which after 4 years still doesn't have VS tooling support, 5 competing GUI frameworks on Windows,.... Culture reboot at Microsoft went a bit too far in the wrong direction.
- nafey 5y ago> That's what the Indian subcontractors writing the rest of Azure's code do! Important to note that the subcontract would be paid 1/10th of what his counterpart in Silicon Valley would be getting.
- jhowison 5y agoGoogle cache link: https://webcache.googleusercontent.com/search?q=cache:gnWsEkz8oQ4J:https://macwright.com/2021/03/16/return-of-fancy-tools.html+&cd=1&hl=en&ct=clnk&gl=us https://webcache.googleusercontent.com/search?q=cache:gnWsEk...
- breakfastduck 5y agoMust admit my comment is spurred by the first few words but my god Dreamweaver was so good in the early 2000's. I actually got introduced to it in ICT lessons at high school. Oh Adobe. The memory of their software is so nostalgic. Don't get me started, I'll be talking about macromedia shockwave next...
- dawnerd 5y agoIt's how I got my professional start too. It's code editor and file management was pretty nice for the time.
- breakfastduck 5y agoBasically the winning feature was that the UX was essentially the same as Photoshop. Slice up those PSDs and, WOW I can try coding it up myself and it kinda-sort looks-works the same as PS! It was the exact tool Photoshop using website designers needed to up-skill smoothly.
- rm_-rf_slash 5y agoMine as well...in 2015, at a university that maintained lot of small-to-medium complexity websites. It did the job well and was easy to work with, even if I sometimes felt like was carving in my 1s and 0s with stone and chisel. But if I were still working there I would probably replace most of the sites - which were largely abstractions of forms and tables - with something like power apps instead.
- breakfastduck 5y agoStill can't comprehend why we haven't had 'winforms' again but modern and not windows based. Power Apps is good but not great.
- bliteben 5y agoSame reason people will spend thousands of hours working on libraries like pandas but won't make a better excel. Or something like that.
- madeofpalk 5y ago> JIRA was replaced by GitHub issues This is absolutely... not the case. Sure, for some kinds of projects Github Issues might do, but for anything "real" Github's issue and project management is a serious regression. --- These tools are not replacing anything, but addressing broader and broader markets. They lower the barrier to entry and bring more people into the fold (perhaps at the expense at having a lower ceiling of functionality).
- typeofnandev 5y agoIf only it _was_ the case!
- madeofpalk 5y agoSliding in here with the hot take, but Jira can actually be pretty good! Github is terrible at project management. The problem with Jira (or at least used to) is that it has so much complexities that let people make it overly complicated.
- typeofnandev 5y ago>The problem with Jira (or at least used to) is that it has so much complexities that let people make it overly complicated. I actually really like this take, because a lot of the times it feels like a tool's complexity is from what it lets you do. I feel like if Jira was "dumber" (i.e., less feature "rich") it'd be so much better.
- steveklabnik 5y agoThis is why I prefer Issues. The lack of features is a feature.
- madeofpalk 5y agoTo be clear - you have to go in and actively make Jira worse to make it bad. If you stick to the modern defaults and don't add in additional workflows you'll be fine. It's certainly an indictment of Jira and it's technical legacy that it lets to make it bad.
- systemvoltage 5y agoI equate this "swinging pendulum" to be more akin to optimization than just back and forth between two foci. Imagine that the problem space lies in a multidimensional landscape and humans are trying to evaluate (explore) in various directions to see which works the best. Usually, it sticks and its an obvious solution. But many things are a regression. As technologists, we should strive to have optics for this sort of thing - sometimes old things are actually better. We went down the wrong slope and need to walk back to the previous peak and try again. Those who do not understand this tend to stick people into two buckets and then start an unending argument streak. Recognize that going back is 100% foolproof by definition - hindsight is perfect and going forward is a toss-up. If you can evaluate and have a good measure for current vs. old, don't be afraid to leap backwards. Startups should exploit hindsight and they do. There are also stagnant local optima that we need to really go out there to find a new peak. These we coin as revolutionary technologies that change history forever.
- yout2 5y agoAnother example: Java and C++ got disrupted by Python and Ruby, which were considered to be much simpler to read and write, but now we are seeing more static typing, for example Python with type hints and friendlier static languages like Go/Kotlin/Swift. Perhaps mirrors the shift between text editors and IDEs.
- aunty_helen 5y agoWith Python you can write super simple to super complex. If you have a large project that benefits by type hinting, use type hinting.
- pjmlp 5y agoAs long as performance isn't part of the requirements, then it is time to rewrite it into Java and C++.
- greatgoat420 5y agoI think there is something with this, and the minor resurgence of interest in C. I think people learn about the issues with memory and threads in C, use some other language and come back to C with better appreciation for what can go wrong and better care to keep things safe. C is the less fancy tool. It gets out of the way as much as VS Code does.
- ravenger00 5y agoOld man shakes fist at clouds
- systematical 5y agoLinear looks nice. Anyone using it?
- devmunchies 5y agoi'd never heard of it. just signed up after seeing it in this article.
- amhenk 5y agoI've been using it for side projects and I'm a big fan. The keyboard shortcuts are convenient and they make it easy to pick them up as you navigate around the app. I also like their approach to the traditional epic with projects that have their own set of work items/timeline. Overall I feel like it's more intuitive than what I use for work
- bitexploder 5y agoFirst, this is an interesting take, and I think there is some kernels to consider in it. However, the author is painting very broadly with a large brush and smudging a lot. I have been happily using PyCharm/IntelliJ since what feels like the dawn of time. It is a perfectly complex and rewarding Fancy Tool. People still use IDEs for C/C++ this whole time, etc. I think the author is taking their personal journey and experience and extrapolating a bit too much about trends in the industry. I found myself nodding along at times and then saying "What?" the next sentence. My thoughts: * JIRA, still heavily used in many, many places. Not even close to being replaced in them. * Evernote vs. Markdown: I have been using org mode and or plain text notes for over 20 years. Markdown was a welcome addition to the arsenal, but I tried the Evernote/Microsoft Notes back in the day... just went back to plaintext for notes+todo, it has worked forever and is good enough. Org mode is a very nice and "Fancy" tool on its own. But also easy to get started with. Just some examples. I don't mean to be overly critical, it is an interesting and fun article about the tools we use as technologists, but it could do with a lot better grounding all around.
- sverhagen 5y agoJira still for the complex stuff, with many teams in enterprises. But maybe less than it was in simple projects, with one-to-one relationships between issues tracking and repository?
- chii 5y agoThere's a bias in HN that favours the simple and clean. But the real world is full of bureaucracies and complications due to legacy and/or politics or some other factors (like momentum). When HN users argue that certain tools (like Jira) is too complex, they imagine that a simpler tool following a simpler process would've worked. For them, may be it would, as a greenfield project, but not for the enterprise currently using Jira or is going to adopt it.
- samat 5y agoIs this complexity warranted? I mean could not the same goals be achieved by less formality and less complexity?
- Animats 5y agoWebflow is a service, not a tool. Unfortunately.
- wyclif 5y agofsv, which is a clone of fsn (the file system navigator seen in the film Jurrasic Park) is still around and useable even though it's not maintained anymore: https://github.com/mcuelenaere/fsv https://github.com/mcuelenaere/fsv
- imwillofficial 5y agoThanks for sharing!
- jes 5y agoEdit code like a grandpa in neovim... Love it! At 61 I am a grandpa, prefer GNU Emacs over vi, but still have fond memories of using vi on 4.2BSD systems. Long time ago!
- meierjo 5y agoAhhh vi. I was reading the article hoping to see mention of vi… Emacs was cool too, but I never got hooked - was very comfortable in vi land as it was the first editor I used on the old time terminals (green/amber CRT and a keyboard you could kill with). Oh the power of vi/EMACs and regular expressions without ever lifting a finger from the keyboard!
- jes 5y agoExactly. I well remember the green or amber 24x80 terminals. Televideo, Lear-Siegler, etc. Bundles of twisted pair cable for tty lines back to the machine room. Good times....
- makapuf 5y agoBut wasn't vi the Fancy Tool then?
- ontouchstart 5y agoThat is why I started to use ed. Much better than vi because you THINK in a buffer :-) https://en.wikipedia.org/wiki/Ed_(text_editor) https://en.wikipedia.org/wiki/Ed_(text_editor)
- fergie 5y agoMe too. I think that there are more of us than we think its just that there are no commercial interests promoting our way of working, so we feel slightly unusual when in fact we are just doing the logical thing.
- peterarmstrong 5y agoThe cycle also goes hand-in-hand with languages and frameworks. I use VSCode for Ruby on Rails editing, but I don't need to. With TypeScript, however, it's a huge win -- just as IDEA or Eclipse were essential for Java, back in the day.
- 0xCMP 5y agoIt's basically cause of mobile. Simple tools often involve using files. Using plain text files too. I don't think the pendulum will swing back the same. Files are a bad abstraction. Databases via HTTP APIs are far more reliable for using between all our devices. Syncing files without something like Git is very painful and for Git to be used the user themselves need to be able to handle the diff themselves correctly. And they'd need to do this all on Mobile. It basically kills plain files for anyone except the most advanced users and requires very complicated apps (e.g. the wonderful WorkingCopy on iOS). The problem yet to be solved for normal users is how do you take advantage of that convenience while still letting users own their data? There are some attempts but basically at the end of the day it'll require more support from the various operating systems (mainly mobile). There needs to be some underlying open data format which can be synced easily that recreates a database locally that apps can query directly and optionally some way to proxy those requests to a central service when the device can't/shouldn't have direct access to that database (lack of storage, lack of compute to run the database or app, lack of privilege's to have possible direct access all of the data.) If you can't solve encryption, syncing, and ability to easily use the same rich data between devices and operating systems you won't reverse the trends to move everything to these fancy tools which almost all end up being centralized and requiring the user to be online regularly even for data which only their own devices would ever be using.
- ashneo76 5y agoFiles are a great abstraction. They give you ownership, actual one, not the kind sold by apple or Netflix. Files give you freedom to share informatiin instead of being held in a database by some third party with different intentions than your freedoms. Please don't spread FUD
- pessimizer 5y agoI think it was just an observation, not a recommendation. If we can't defend a free lifestyle from within this new, messy, network, then the future is proprietary and rented from the cloud.
- gryn 5y ago
- imwillofficial 5y agoI really enjoyed this take. I hadn't thought of our tools going from complex to simple and back again. Insightful.
- Mommasboy 5y agoI upvoted because author shared a good personal opinion. This is in no way an industry dive opinion. Too much generalisation.
- terenceng2010 5y agoI probably won't pick CS as my undergrad study if I haven't used dreamweaver to create website for my classmate when I was just 12 years old (hand-type html, css is a bit much for me that time. And Dw allows your to set hyperlink, an on hover event easily, js is hard to grasp for me that time ) . So I always think it's good to have a low barrier for people to get in.
- maydup-nem 5y agoThis view is forced and implicitly claims there are some actual trends going on with some handpicked examples, and even then they're quite false. Give me a break. I think this complex/simple notion is black-and-white kind of wrong at the root of it, just throw in "powerful" in there and see how well that view fairs then. > “I’m not writing it down to remember it later, I’m writing it down to remember it now.” The friction of having to write, to structure thoughts in plain text, to remember the name of the person I need to reference on this page: that is the point. How about writing to forget it? For me, the point, more often than not, is to not have to remember what I am writing down. And if need be, come back to it later.
- jcelerier 5y ago> Visual Studio was “disrupted” by Sublime Text and TextMate, no it was not. people didn't migrate from VS to Sublime, they migrated from notepad++ to Sublime. I have never met anyone who stopped using IDEs once they started, except maybe for VSCode with a few hundred plug-ins to reconstruct an IDE piece-wise (but with much less "integration" between the different plug-ins)
- noobermin 5y agoNot to drag on the OP but I really wonder about people who are the subject of these articles who supposedly migrate from x to y to z, because at least for me I'm still using emacs like I did 10 years ago. The things I focus on is more about doing work than what tool I'm using. Do people really migrate or is this more about growth in a user-base? A higher rate of growth of one user-base relative to another user-base is not strictly due to people migrating (as if it's zerosum) but could be due to a tool capturing more new users, like junior developers and such. How often do people really migrate wrt tools they actually use for work?
- john-aj 5y agoExactly. I'd guess that a majority of VS Code users are relatively new to programming. Not to say that there aren't experienced people who have switched, especially among the TextMate/Sublime Text crowd, but the incredible growth in users? I think that's largely a result of new programmers choosing the same editor, not old programmers switching.
- flohofwoe 5y agoDon't know if I'm representative, but I've been using Visual Studio for C++ stuff for about 20 years and switched to "mostly VSCode" a few years ago. I guess the reason is that I never used more than 2..3% of Visual Studio's features. Some features in VSCode are a bit too bare bones (especially the debugger), but somehow the user interface makes a lot more sense to me, and most of the times it feels faster and more lightweight than Visual Studio (Visual Studio nowadays even shows a progress bar when loading a project).
- divbzero 5y ago> Everything for the next few years will slowly fade in as you scroll. I don’t know why. I don’t understand why either. Does fade-in make a webpage more aesthetically pleasing? Or serve a functional purpose like improving readability or increasing conversion? To me it distracts from understanding the content and can even lead to janky rendering when implemented poorly.
- globular-toast 5y agoFashion trends tend to work like this: 1. Someone does new thing, it looks stupid, 2. Others realise that even though it may look stupid, it looks new, so they copy it, 3. It's copied to the extent that if you don't do it, you look dated, 4. The stragglers do the thing too, and now it's not cool any more. We're at stage 3 now with fade-in scrolling. When Wikipedia does it we'll be at stage 4 and then it will be cool to do whatever Wikipedia were doing 10 years ago.
- globular-toast 5y agoI spotted this trend a long time ago. I see it everywhere: software tools, clothes, cars, you name it. It's called fashion. I decided to opt out. I use timeless tools like emacs and bash. I wear timeless clothes like trousers and shirts. I drive whatever reliable car is available at the time. I haven't got time to keep up with the whims of fashion.
- ZeroGravitas 5y agoAmusingly, the last paragraph is almost the exact opposite conclusion I just typed on another thread, that Ctrl-P type interfaces in Vim is the future of programming UI. I've struggled with the notetaking issue as well and think the important part isn't the taking notes, but the processes around it. The paper/ink based note systems that work possibly do so because they accidentally force you to refer back to things repeatedly, like the virtual note taking system they use. I can certainly think of times I've written and then forgotten notes in ink.
- theelous3 5y ago> but the processes around it Couldn't agree more. I keep a notes vim open in i3's scratchpad. Mod+minus and it appears front and center, I make a note. I shortcut again and it's gone. I use one giant text file so everything is always searchable on hand. I never kept notes before this setup, no matter how hard I tried. I just made it as ridiculously easy and zero-brain-required as possible. I don't even like using vim, but the setup is just too straightforward. I've become a note making machine, and I love it.
- ZeroGravitas 5y agoSounds similar to my current setup. Partly inspired by Bullet Journal's paper based system, it's a per "project" (basically usually a git repo) notespage, that appears and disappears with a hotkey. It also acts as a margin to center the other vim buffer when I'm only working on one file. It functions mostly as a Todo, so if I'm in the middle of one thing and think of another thing that I want to come back to later, I can add it here. And when I'm thinking, what next? I can consult it and tick things off to feel like I'm making progress and remind me to break big tasks into smaller tasks. As yet incomplete parts of the process are stealing some ideas from Bullet Journal and having global "pages" that I can call up, a system for copying (not moving!) issues to other places (similar to the > in bullet journals). My theory is that digital workflows err on the side of only showing you what's relevant, and you need to correct for that to a degree to see the full benefit. I do still like "thinking" with a pen and paper though, not sure why, but then distilling that down into typed text.
- lmeyerov 5y agoThis resonates. Another way to look at it is how we got to simple tools to beginwith: tech-driven industry disruptions. A wave of sw replacement came for tools that are mobile-friendly and support collaboration, like Google docs & spreadsheets, and Figma. Mobile & live collaboration are so important that feature-poor versions of older tools ate giant market share from Microsoft Office, which is 15% of Microsoft's revenue, and the same at Adobe and others. But Office, Adobe, and friends built up all those features for market-driven competitive reasons. Startups in new spaces get head starts of 2-3 years in consumer, and then maybe a couple more if b2b, but that's it. It doesn't last forever: capital is a moat, and part of that is by building a feature factory, which massive companies like to do. MS and Adobe went SaaS and mobile a few years ago, and they're actively competing here now.
- plondon514 5y agoWhen I see articles like these I usually: 1. cmd+f 'linear' 2. see result 3. smile
- varjag 5y agoDialectical materialism but for tech.
- headmelted 5y agoVisual Studio was “disrupted” by Sublime Text and TextMate, which are now getting replaced by Visual Studio Code No-one switched from VS to TextMate or Sublime except the author. There’s virtually no overlap in workflows. I can absolutely believe people switched from either to VSC, as they are designed for similar workflows.
- egypturnash 5y agoFancy tools never left, you just stopped using them. I've been using Adobe Illustrator for art since before anything mentioned in this post even existed. Except Dreamweaver and Vim, if "neovim" counts as Vim. It is a complicated tool that has a lot of ways to easily make useless effects, and a lot of ways to easily make beautiful art. Also most of the professional writers I know don't write in Word, they write in Scrivener, which is essentially an IDE for prose. Then they export to Word and use this as a common interchange format with everyone down the line in the publishing workflow. It is a very fancy tool. And really I dunno if NeoVim counts as not "fancy", the first highlight on its page is a section about how extensible it is. It's got two languages to write plugins in, with several screens to scroll down in the list of "plugins and applications that leverage the Neovim API". That is some fancy-ass shit right there.
- hyperpallium2 5y agoA tool maps user inputs to results. A programming language is fine-grained - complex input to desired result. A fancy tool is coarse-grained - simple input to result. As an industry matures, what users want to do is better known and methods for doing are developed, so a coarse-grained mapping becomes possible - on both ends. But this process can cross industries above, obsoleting entire roles; and below, creating new roles. A "role" is something requiring complex user input to specify a result.
- raingros 5y agoWell said: "[...] the names of things, their functionality, and how it all fits together should be things that exist in one’s mind, not just in a computer."