I spend a lot of time working with tooling, whether it's for my job, content creation, or just development tools in general. Warp is a brand new terminal experience, so let's talk about it.
What is Warp?
Warp is a terminal that allows you to do a whole lot right from your keyboard. It gives you the ability to look through your history, create workflows and has intellisense. This is currently for Mac only but they are building one for Windows and one for Linux as well! So all the other users out there can have a great experience.
Command Palette
The command palette allows you to search through all the different commands you can use within the Warp terminal. For example create new tab is command + T
or command + ]
is a new pane. The command pane is completely searchable so you can type in what you are looking for hit Enter
.
Command History
Command History is one of the best features of Warp, not because it's powerful or revolutionary feature, but because I and every developer has press the up arrow dozens of times to find that one command.
You get two options when you press control + r
you can scroll through all of the history items or you can just type in the beginning of the command. Here is an example of me typing the word yarn
into my history search:
As you can see I can now just select what I need from the list, speeding up the time spent remembering what did I type?
Workflows
Workflows are the powerhouse to this terminal application, workflows allow you to run commands similar to aliases. Each workflow gets a searchable title and description which make easy to find what you are looking for. The workflow pane can be opened by typing shift + control + r
.
When you choose a workflow, you will prompted to fill in any arguments you might need to make the command work which you can navigate using shift + tab
:
Custom workflows
Custom workflows are your alias on steroids, they are created using .yml
files and can be either user specific or project specific.
For user specific ones you add them to ~/.warp/workflows
and for project ones {{path_to_project}}/.warp/workflows
. The format is the same regardless, here is my code_profile
one:
name: Change code profiles
description: Change code profile for visual studio code
author: James Perkins
author_url: https://github.com/perkinsjr
tags: ['macos', 'shell', 'vscode']
shells:
- zsh
- bash
command: code --user-data-dir {{user_data_dir}} --extensions-dir {{extension_dir}}
arguments:
- name: user_data_dir
description: Directory of user-data
- name: extension_dir
description: Directory for extensions
My custom workflow takes two arguments which and when used will open my code_profiles have stored for visual studio code and it looks like this in the application.
This is just scratching the surface of the feature set that Warp offers and how it can be used. I recommend giving it a shot and seeing what you think.
Top comments (44)
This is a really cool project but I'm confused about the business model. VCs don't just give money to a nifty project, they obviously need some sort of ROI so I'm curious as to what the business model here is. Is there some pricing model for businesses that want to adopt it? From where I stand, it seems like the the (VC-specific) value in this terminal is the data it collects. I understand that this project has to make money somehow but I am curious about what sort of data is collected from it.
I hope that this doesn't come across as attacking the project as I see no issue with sharing my usage of a terminal once it's properly anonymized.
The money comes from the pricing model for the business usage.
They are going for if we make it soo good for individuals that they will want to integrate it into their business.
You can read about the data collection and business / pricing model and plan here:
warp.dev/faq#whats-your-business-m...
Thank you so much for your transparency (and being active with your business on Sunday too!)
Not my business but my blog post! I want to make sure people get all they info they need, to make a decision.They can hire me to spread the word if they want π
Forgive my presumptions then!
probably they are selling the data from the telemetry, but who knows.
They are using it to drive what to improve for GA and then telemetry is optional.
A closed source terminal emulator by a for-profit entity running on a yet to be proven business model. That's a pretty darned hard sell in today's "zero trust" world where new actively exploited CVEs are being discovered every other week, and where the GDPR auditors are always looming.
However well it might work, convenient it may be, or nice it might look , the security risks are too great and financial liabilities too expensive.
While I agree with some sentiment here, this has been discussed openly:
github.com/warpdotdev/Warp/discuss...
Seems they are planning on open sourcing some if not all of the terminal.
That would be the baseline for personal use.
Before I would ever even think about adopting this tool commercially, especially considering the massive leverage a it has over such a critical piece of business infrastructure, I'd require them to offer some very serious, verifiable, and continuous guarantees about their security setup (the current "your privacy is important to us" doesn't really cut it) and legally binding guarantees to cover for the remaining liabilities.
At that point I'm afraid the SLA would be so expensive it wouldn't be worth the investment.
It's brutal, I know, but a nice looking terminal app just isn't worth risking my customers' and my own arses over π
I totally agree. I just don't see the draw of any software that's not free, especially when it offers so little over established free software.
I'm going to come out with a whole lot of things that sound negative, but I don't mean, "I hate this, stop what you're doing", I mean, "I don't understand this, carry on and make something awesome".
It seems like the only thing that Warp gives you beyond other terminals so far is workflows, which look quite nifty tbh, but - and it's a big but - I don't think they'd be difficult to implement as a script in any old shell, even something 20+ years old that's supported by curses. I can think of a few people from my work who'd probably like the feature
Phrases like "planning on open sourcing some of the..." turn me off. Why would parts of it be hidden? Why is this a thought for the future and not how it's built from the start?
I'm also dubious of new software that's built for MacOS where the authors say they're working on versions for other OS. The reason that people choose to build for Mac first is often that they can charge more for the product and people will pay it, and as such the other platforms' versions fail to materialise or are always a step behind if they do.
I'm not sure that things like command history and workflows are a good fit for a terminal emulator. I think they're a fit for the shell, because the shell's the thing that is interpreting them. You can use a terminal emulator to run something other than a shell, and in that case, what's it going to do? Will the shortcut keys confuse things?
A lot of these questions are definitely for the warp team, which Iβm not a part of.
The software is free to use and nothing restricts you and your whole team from using it. Their business model is go for mass adoption, then hope to offer business and companies X or Y where a free tier would have a restricted version (as far as I can tell)
yeah, I think many people use github.com/nvbn/thefuck for similar purposes but open source
Another interesting project I came across the other day that you can compile yourself and doesn't require an account to use is github.com/nushell/nushell
It's a great time to be a shell-dweller with so many great tools and concepts in active development!
Edit: The compilation and account comment might come across a bit snarky but that was not my intent!
This seems like a burgeoning space atm!
There is fig.io which has similar features and is Mac only too. The driving force seems to improve DX (Developer Experiences), bring more IDE-esque experience to the terminal.
The linux crowd are approaching it differently e.g. nushell. The focus is more on improving data processing. Support data formats such as json and xml as first class citizens, offer better error reporting, and parallelism.
Personally, I am more excited by the latter. Improved DX might make the terminal more approachable for newcomers, and easier to use in the long-run for others. There are decent solutions for autocompletion and history searching in other shells.
The fish shell had the objective of making shells more user friendly and it still receives quite a bit of flak! It could be kind of a cautionary tale for warp, I guess?
Zsh seems to be having a second wind. I think Oh my Zosh solved the user friendliness of Z Shell for many folks. And with Mac making its default shell, its got a wider audience.
I mostly use Zsh (bash sometimes), and I would be slow to switch.
I wish you success with the project.
Great to see another attempt for building a modern terminal. I don't have mac os, so I don't think I can use it but I know people will see this and work on improving their experience on whatever terminal they use. I have a zsh and bash extension for command history, that I can't live without. Although I don't know what benefit will command pallet serve.
Around 2012-2015, There used to be a terminal project called Final Term, which had most of these features. I think the developer closed the project after graduation and getting a job. Its good that warp have secured funding so it can have a sustainable future.
They are creating a windows and Linux version in the near future.
I actually remember Final term I think
Currently using Wezterm. I will give this a go when it is available on Linux/FreeBSD. Always curious about new Terminals! Thanks for the headsup. :)
Wezterm is a solid choice! Hopefully their roadmap moves quickly through the offering on all platforms.
I am hopeful. Let's see! :)
Great job
Tbh this (no OSS, sending everything, weird business model, osx first) sounds awful.
And it can to nothing than can't be done by other shells, no need for a terminal emulator to even do that...π€·
This is snarky, but I think only an osx user can fall for that kind of BS π€¦ββοΈ
It definitely is not the future of terminal. Because we all can use this features for years now. That's not only hyperbole, it's just wrong.
Just use fish, fzf and tmux and be done with it. It also works on every other system if you remotelogin via ssh
It lowers the barrier of entry to terminal.
No one said this isnβt something any other terminal / plug-in could do.
Snarky is an understatement, never realized your choice of OS denotes things like deciding on software you want to use is good or bad, but your opinion is valid either way.
It kind of does. eg. if you are used to work with your hands bound behind your back by using an inferior OS, your might also find inferior software to be "the future of XY"
Next you will tell me only OS to use is the one you use and no other compare. As well as your keyboard, mouse, monitor, dev tools.
As a dev for almost 14 years and has written code on Linux boxes, windows boxes, MacOS.
At this point just toss me a keyboard and Iβll write you whatever you need. I donβt think any of them are inferior of each other. All of them are good or bad, in some scenarios... sure a linux box has advantages, in web dev they all are on level playings fields pretty much.
I personally believe that lower barrier of entry is the future of terminals, itβs why fig.io and warp exist in the space. People finally realize the pain point and we can solve it.
Sure Iβd prefer the whole thing to be open sourced so I can look at the code and decide for myself but for now Iβm willing to enjoy the experience and decide for myself if the risk reward ratio is worth it.
I'm actually still amazed that you see this as a painpoint where we need a new terminal EMULATOR, when there are tons of tools and shells which have this functionality already and at the same time try to imply I should look outside the box.
Dude, you simply didn't know how to use your shell and wrote an hyperbole article about the future, which in fact other people are living for years now. I just pointed it out. To yourself a favour and Google (or YouTube) fish, fzf, tmux, nvim, etc
I have been developing longer and on more systems than you, but I don't see why that should matter. I just didn't want to drink your kool.aid
You should stop assuming.
I use a shell every day at my job, which again you assume I have no knowledge of. I don't need to google any of them, because again, I have used them in the past.
This article is a let's look at article, no where in it am I telling you to completely remove your working workflows, nor telling you that fish, zsh vanilla or any other is useless compare to an emulator.
The title is fairly clickbaity, which I have no problem with.
Then you should stop feeling butthurt about people taking you at your word and pointing out that's just hyperbole. A needless article and waste of time to read
hello i just try to use discussion for the first time
πππ
While I like the idea of warp, it absolute drives me nuts that I have to create an account and that my terminal is sending hundreds of tracking events to the developer. That's all but not trustworthy :-(
You can't even opt-out (except blocking outgoing traffic)
docs.warp.dev/getting-started/priv...
I understand the need for telemetry and in GA itβs opt out.
I can also understand needing the data to understand usage. But also the privacy concerns
Love this terminal. Have been using it as a default the last few days. Definitely modern functional. Looking forward to the updates that will include power level 10k
Awesome! Glad you are enjoying it... looking forward to see what they are going to do in the future.
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more