Google uses Cider internally. Cider is a custom browser code editor which mounts the enormous Piper file system and provides a super tight integration with internal review, build and testing tools.
Github recently announced Github Codespaces to jump directly into a working environment when looking at a repository. Gitlab recently announced their partnership with Gitpod, building their own opensource clone of VSCode, providing the same functionality as Codespaces since some time already.
But why all this? Simply put, desktop IDE’s do not scale up!
In times of microservices and cloud developers just have to work on more complex projects… faster 🤓
While it is clear for Google that a single desktop, no matter how powerful, can not handle the Google Dev environment alone, it becomes almost equally important for smaller companies to not spend months on setting up a development environment.
The next logical step?
Move the full development infrastructure (from dev to production) to the cloud and unlock the potential of tools that exceed the abilities of my desktop.
This is why we built Codesphere 🚀
Top comments (23)
Not every development environment consists of 200 microservices, 5 databases, a search engine and an email server. Online editors might be a future.
It should be said that stop following big companies for trends, they have their own reasons for doing things their way.
softwareengineering.stackexchange....
Very true.
IF you want to build for scale, desktop IDE's not the right tool and far away from what is possible :)
Exactly what I was thinking. Well put.
How about editors for mobile devices? I know it’s not practical to code on an iPhone, for example. However, when an idea comes to mind, it would be great to work on it “on the go”. Thoughts?
I share this vision and the step from cloud to mobile devices is a very small step. With Codesphere coding on your iPad will be fantastic, iPhone at the beginning not very beautiful but at some point also a great experience. This is another advantage of a browser / cloud-based solution.
Oh yeah, absolutely. Leaving some notes and comments or may be even drafting some algorithms would be great on an iPhone. I think it's also great for code review and collaboration, e.g. when someone asks you to check out their uncommitted code.
I doubt that you will have great ideas for specific lines of code on the go. If I have a really cool idea (code related) on the go, then that is always just a concept or an idea, never specific lines of code --which I record as an audio message or I write a message to myself.
Is this an "it sounds great in my imagination" idea, or do you have actual data that shows, that people would actually use coding on a phone?
I remember having a code editor and even an SSH client on my phone years ago --I never (!) used it for real.
We optimize for tablet's, laptops etc. first - BUT we also love to review, double check, and minifix things on the go. Why not :)
Personally, especially with these foldable phones and 5G, I dream of this already for a long time :D
I get your point and don't see real, complex coding on an iphone. I give you that. But 2 points: First it has a value for many developers to have at least access to their full code on a phone and there is room for improvement from the code editor you have had years ago. Secondly a tablet is also a mobile device and it can be very convenient for 'remote' coding. Speaking about mobile devices we should not focus on phones first, don't you think?
I admit, coding on a tablet sounds interesting. My phone would be too small for me, to even see enough though.
Please no! I've worked in offices with super slow internet. As much as I like cloud-based software (I am developing cloud-based software every day!), most of the time, actually always, I will not work on gigantic code bases that do not fit on my computer anymore. In all of these cases, I prefer the speed (and reliability !!!) of files on my local SSD over the speed of files on a remote server (with a possibly flaky internet connection in between).
I could tell quite some stories of totally failed software projects that failed because some dude (that I know in person, no imaginary stories here!) copied the patterns of, e.g., Netflix and tried to write software for a start-up with 3 people the way Netflix does with about 80 developers (after many iterations and hilarious growth). Needless to say, said startup(s) failed (in multiple rewrites) to deliver working software for a couple of thousand users.
I cannot stretch this enough: AS SIMPLE AS POSSIBLE! Or as we say in Germany: Alles mit Maß und Ziel -> Do everything with measurement and objective (= the German way :D).
Unless I really MUST move my coding environment to the cloud, I will not do it. Also, I will only do so, if I could --beforehand-- measure and determine clear advantages, that outweigh all possible downturns (e.g. what do you do if your internet is out for several hours).
-> I do not see any real proof for this in the post, sorry! Do you really spend months setting up your Dev's computers with a text editor and git? Do you have any measurements for that? Did you set up environments for different use cases and measure the time it took? I have a script that sets up a new computer for me within 1h. Again, that is 1h to set up my environment to get up and running to develop software using many tools.
I highly advise to not make such bold statements without actual data --even more important: don't waste your time developing software that solves a problem based on guesses, other people's posts and other magical information.
Hey Lud,
thank you for the opinion :)
Codesphere is not really a browser IDE, and not really meant to replace your local environment.
Its a cloud provider that deploys and scales your code automatically, with the UI being a browser IDE (but you CAN just mount an fs and work locally).
V1 is meant to keep the deployment & kube stuff away from your fun / test / mvp projects.
V2 keeps all automatable tasks (deployments, infra-management, privacy, security, scaling ...) away from your developers so they can focus on code.
I hope you will like it!
The key assumption of a perfectly running internet connection is crucial and worth a discussion. But it might not be equally crucial for everybody and the workflows are less efficient without internet even if you don't code online. Do you need internet connection at any time?
Exactly. But without internet connection, the Cloud-Editor won't work, right? But my offline editor works always. Can I run tests when I'm offline?
Hi Lud, sure, you can run and have everything locally.
The editor is not meant to replace your local env (today), it is there as a more native (to developers) ui of a cloud provider (what codesphere essentially is).
The idea is to be way more informed (no need to try to be smarter than today's IDE's) about the full workflow from local to dev to prod and make you more productive with that.
This sort of thing has been around for a very long time and never really picked up momentum. The main issue in my experience is the quality level of the web IDE is much lower than what is available on the desktop (autocompletion, debugging, plugin ecosystem, etc). You loose out on some productivity when moving to a web IDE (inferior tools), and in my experience, due to the gain in productivity being too small (not having to set things up locally), results in a overall loss in productivity.
At Google, we had a very integrated and well working environment in the browser (lets not call Codesphere an IDE, its actually a Cloud Provider where the UI is an IDE) called CIDER.
It was very productive for tools like blaze/bazel and boq (the internal "kubernetes").
You are missing my point. In your example, you mention bazel, but I've never seen any Java projects using it in the wild. This is very specific to Google and probably won't be selected by most companies. Maintaining an ecosystem that supports a wide variety of workflows is very hard, even more so in the cloud. This is why I am very sceptical that coding online is the future.
Another thing I've found annoying with web-based IDE's is that hotkeys of the browser itself can conflict with your terminal ones (ie, readline defaults). This is a fairly minor issue though.
I am not saying Google's tech was best for most companies, but it was very productive for one workflow.
We aim to do this for fullstack apps written in TypeScript.
Fully agree with the hotkeys, its annoying but yeah..minor.
I absolutely agree.
And that's why we're here to change it. :)
You are exactly right. All those mentioned features (autocompletion, etc.) must be a part of a web IDE to really boost productivity.
Please be advised, while talking about your projects is fine in small doses, be careful to keep it in check. This is your second post in so many days about your product, based on the same premise.
From the Terms of Use...
DEV offers Listings for advertising.
Instead of just advertising your product, please consider telling us more about how you built Codesphere, what problems you encountered in building it, etc. Connect with the community here as fellow coders, rather than as potential clients.
Thanks, Jason! I get your point. Here it was about telling the story of limitations we all currently have and the painpoints to solve. More deep tech content will also follow. This is the basis of all our coding work since months and it is very interesting to see the different opinions in the discussions under the posts.