Developers are the star of the show when it comes to building great apps using Cosmic JS. Like every great musician, each developer is different in their approach and style. In our Developer Spotlight Series we shine a light on the creative process of a developer using Cosmic JS to create content-powered apps. This spotlight features Joe Tuson, a front-end web developer out of the UK.
Cosmic JS: How long have you been building software?
Joe: Around 5 and a half years. I took a leap of faith and transitioned into web-dev/software from Architecture/Design Engineering in 2011. I learned to code on the job pulling my weight as a graphic designer until I could take on client projects with a LAMP stack.
What is your preferred development stack?
Nooo! Don’t make me pick one…! :P I love different stacks for different reasons, and I just get a deep visceral satisfaction when matching projects with the most appropriate stack. Fundamentally, I do tend to gravitate towards Ruby on Rails for the heavier, more complex projects, and Node.js for the punchier, lightweight ones. However, common threads will always be:
- Trello (Project & task management)
- Sublime Text (IDE)
If I were ninja enough I would probably add React/Redux to this list, as I love how it works and what it can do, but as yet I have not cut my teeth using them on any real projects to include it among my core skills.
Tony’s noticed that a lot of software developers are musicians (like him). You are musician as well, correct? What do you think the correlation is between music and software?
How do you know?? Have you been following me? It’s an interesting one, because having asked other musician/devs I get a different answer every time. Both pursuits are fundamentally creative, therefore I think for me it’s having the power to create something from nothing, and always having something to work towards. If there is one thing I’m sure about, with development I will never be satisfied, and will always be inspired to learn something new. The feeling of overcoming a problem or mastering a riff — that moment of realisation when it clicks is addictive as heck.
Can you talk a little about why you chose Cosmic JS as your CMS and how it fits into your development process?
Cosmic really is a breath of fresh air — both for me and my clients. One thing I hate most is opinionated tools; ones that refuse to let you work how you want. Developers themselves are inherently opinionated creatures anyway, so I don’t want to have to butt-heads with a CMS that promises the world… but only if you know *this* funky language, and conform to *that* framework, and oh, your app is failing because the CMS can’t find some illegible config file in some deep dark directory — — oh but guess what — not the one you’re thinking, that would be way too easy. By the way, you just broke something else because you updated your DB software… *sigh. Ok — but surely it will be worth it in the end because although the learning curve is steep, there will be performance gains..?? Erm… not always.
I found Cosmic JS removes those, and many other headaches by *just working*, right out the box. Plus, it is blazingly fast. The sheer relief I felt when I realised I could just get on with coding my clients’ app the way I wanted to, without making compromises, with a bespoke stack tailored to the use case — — pure catharsis. I was like a kid in a sweet shop (or a guitarist in a guitar shop ;) )
How could it not fit into my development process? — it’s a simple API-driven content delivery service that is as powerful and flexible as you need it to be. Sure — when you begin a project you’re probably not going to end up using it exactly the way you initially intended, but what project *ever* doesn’t evolve and grow to fit the clients’ changing needs? I found that every time the goal posts changed, Cosmic was able to respond gracefully in a way that didn’t compromise best-practice, while still having satisfied my client.
Can you talk a little about how you think Cosmic JS helps your team and your clients?
As a freelancer, my team is just me. However, using Cosmic helps me by providing the muscle power of a full-stack team covering all bases; databasing, hosting, content/asset delivery, as well as the CMS. This allows me to focus on front-end, spending more time polishing my speciality and less time scratching my head while chewing up budget with config, backend, and working out how the heck I’m going to reliably deliver complex asset resources for todays multi-platform web.
From a client’s point of view it has a very intuitive UI with all the familiarity of most common CMS tools, but without the huge learning curve or set up cost. When there was confusion, I found I never had to explain anything twice. Plus — Tony and the Cosmic team provide absolutely *sterling* technical help. Furthermore, it’s incredibly priced, so it’s a no-brainer and an easy sell when pitching to the client.
What are some technologies you are excited about that you are using today, or want to learn more about?
Gosh — I suppose I ought to say WebGL, virtual reality, machine learning, and some sort of big data web-universe. But to be honest I’m not, as clever as they are. I still get most excited about clever tools that solve simple problems well. I believe React.js and its peripheral technologies have some serious legs and I’m looking forward to mastering them. I’ve also heard whispers about terms like “Universal Apps” where a single code base, probably HTML5, serves all platforms and can take advantage of native services & hardware acceleration; build something once and watch it flourish on any & every device. Unfortunately I don’t see this gaining real traction for a while yet. I also get excited about the Internet of Things and would love to spend some real time getting to grips with the crossover between mechatronics, UI and real-time. More simply — I am excited to see what the advent of HTTP/2 brings, and how that will further catalyse the single-page app movement.