Miranj is a web design and development studio based out of New Delhi. We architect information and design radically simple, future-proof websites. We started out in 2011, and have worked on websites for a variety of clients across domains such as film, events & conferences, internet advocacy, science outreach, online publishing, public interest campaigns, and other design studios. We attend web conferences in India and around the world, often as a presenter (or curator) sharing our learnings with the community. We’ve consciously remained small (between 2 – 4 people), while tackling projects collaboratively with peers and freelancers.
- Participating in project planning, strategy and estimation
- Information architecture and data modelling, often in the context of a Content Management System (CMS)
- Converting designs into front-end templates that render as responsive, interactive webpages
- Building custom features and plugins that extend CMS functionality
- Auditing code to meet quality standards expected from modern websites, such as SEO, accessibility, security, etc
- Optimising websites for performance through caching, image optimisation and other #perf strategies
- Maintaining, supporting and upgrading past projects (typically, LAMP stack)
- Data migration from one CMS to another
- Documenting your work and communicating with project teams and clients
- Learning and staying on top of web standards, development workflows, coding strategies and other industry best practices
Your work will involve a healthy rotation of all the above. It is not expected that you will stand out at everything on the first day of your job. However, as a full-stack developer, we expect you to be comfortable with—
- collaborating using version control systems (Git or Mercurial)
- writing PHP code using any modern framework (preferably Yii2)
- working with a templating language (preferably Twig)
- using package managers such as Composer, Npm, etc.
- using build tools such as Gulp, Webpack, etc.
- working with different data formats such as YAML, JSON, CSVs, etc.
- working with REST APIs
- using the unix command-line
- installing, developing and deploying a CMS-powered website (e.g. WordPress, Craft CMS, Ghost, Kirby, Statamic, Jekyll, Drupal etc.)
- converting design mockups into modular templates
We believe the following traits will play nicely—
- You favour a long term relationship over a short stint
- You are eager to take charge and get stuff done
- You are open to learning, and have the ability to pick up new technologies by reading documentation & tutorials
- You value your commitments
- You are good at communication, including writing
- You appreciate clean, readable code and honour coding style/standards
- You like sharing ideas on how to make work more fun, meaningful and fulfilling
- You believe that an organisation should be run sustainably and with financial prudence
- You appreciate drinking coffee, watering plants and love mountains
What’s on offer?
- Opportunity to work with modern systems and softwares, with continuous learning.
- Projects that are meaningful and socially-conscious.
- A cool office with a stocked pantry, which doubles up as a cosy co-working space.
- Monthly team meal/outing, which we’re told are fun.
- Annual pilgrimage to the mountains, to rejuvenate from the stresses of work and city life.
- Medical insurance.
- A culture that values reason and debate over authority; autonomy over control; slow and considered decision-making over fast and hasty; and a healthy work-life balance.
- A healthy compensation, proportionate to the value you can bring to us.
Note: In light of the current COVID-19 situation you should have a productive work setup at home. This includes access to broadband internet, laptop and a decent mic/camera to join calls.
How to apply?
Just fill out this form. Point us to 3 or 4 past projects/code-bases that you’re proud of. For each one, mention the project duration, your role, and your contribution. In addition, please share your online presence (such as Twitter, GitHub, LinkedIn, Website/Blog). And oh, do mention your hobbies. We’re curious about what you find interesting outside work.
We do not discriminate on the basis of caste, race, religion, orientation, gender, physical ability, formal education, age, nationality or any such factors. If you belong to any under-represented community we encourage you to send in your application.
If you’d know a suitable candidate for this opening, kindly refer them to us. If the endorsed candidate is successfully hired we’d be happy to share a referral fee of ₹25,000/- for your gesture.
As a web studio, we have always been focused on our core craft of designing and developing websites. Hosting would often be an afterthought and we’d typically suggest clients to go for a shared web host. After all, shared web hosting was inexpensive and did not require much technical oversight. We would guide our clients through the purchase process, deploy our code and bring our engagement to a closure.
This approach worked fine for a few years, but over time we started noticing several drawbacks:
- Server administration is a bit of a blind spot for clients. Some of them have even suffered website data loss because they overlooked renewal reminders.
- Our faith in shared hosting was depleting. Long support wait times, poor performance, being unable to reach our server while some other site on the same shared-host was experiencing a DDoS attack, etc. were frequently souring our experience. Further, the lack of control over server configuration severely limited our ability to install tools or fine-tune the server to meet modern performance benchmarks.
- Modern VPS providers were steadily decreasing prices while matching or eclipsing shared host offerings. They provided better access to hardware and high control over the software.
- Hosting technologies have become more complex in the last decade. It’s no longer just about the hardware (and bandwidth) specifications advertised by the web hosting services. A modern hosting strategy needs a holistically approach considering several aspects such as SSL renewals, reliable outgoing emails, caching, CDN, backups, software updates, and more.
By 2018 these challenges had become important enough for us to actively seek alternatives. We came across many different approaches — unmanaged VPS servers, managed servers, app hosting solutions, etc. However, none struck the right balance between —
- Extending full server control
- Ease of server management
- Reliable, high-frequency backups
Eventually, we decided to get our hands dirty. Based on our experience of setting up the server architecture for Guiding Tech (which receives lots of traffic and high rate of updates), we slowly put together a hosting solution which features:
- High-performance LEMP stack with FastCGI micro-caching
- Automated server-side image compression and optimisation
- Multi-tiered backup strategy — server snapshots, local backups and offsite backups
- Automated monitoring of uptime and server vitals
We launched in 2018, and in the two years since we’ve been providing a highly performant and reliable hosting service to our clients based on the above architecture. Under the hood, we use Digital Ocean VPS nodes and reinforce the software to deal with heavy loads and traffic bursts. Digital Ocean’s developer-friendly infrastructure (and their community documentation) has played an important role in our journey to offer high-quality website hosting. Through this post, I’m happy to also share that we’ve recently joined the Digital Ocean Solutions Partner Program. This brings us even closer to the Digital Ocean community.
The World Information Architecture Day (WIAD) is an annual celebration to evangelise the practice of information architecture. It is held in dozens of locations across the world, including our home city of New Delhi. The global theme for World IA Day 2020 was “The IA Element” — highlighting how IA is integral to achieving the best results.
We celebrated World IA Day 2020 on the 22nd February at The Circle, Huda City Centre. The event featured talks by four speakers touching upon various aspects of information architecture across history and culture, interface design, data journalism and visualisations. Here’s a short round up of each of the talks (with links to the slides) —
Let’s Define IA
The event was kickstarted by Manish Saini, an Information Experience Designer who’s currently working at Cvent. Manish laid the ground work for the event describing how one can relate to information architecture in their work, and how to define the practice of IA. (See Manish’s slides)
Decoding Crafts: Mapping Asia InCH Encyclopedia
The following talk was by Richa Tiwari from Craft Revival Trust. She started off with a brief history about how various craft forms were affected by rapid industrialisation in the 1900s. She further went on to share how her organisation has been mapping the intangible cultural heritage of South Asia into an encyclopedia. (See Richa’s slides)
Humanising Digital Interactions
The third talk was by Vikramaditya Sharma – the founder of Now Form. Vikramaditya made us take a look at the various forms of digital interactions we experience in our life and how these are slowly turning into more natural human interactions, one step at a time. (See Vikramaditya’s slides)
Making Sense of Data in an Indian Newsroom
The last speaker Sriharsha Devulapalli works at Mint. Sriharsha shared several stories and experiences of being a data journalist in India. He went on to explain the process of producing good data stories — right from data collection and cleaning to visualisations. (See Sriharsha’s slides)
We look forward to another year of sharpening our Information Architecture skills.
Three million (and growing) website visitors every month, more than a million subscribers on YouTube, and customers such as Airtel, Amazon and HP — impressive statistics for a company founded by a call centre employee nine years ago.
Miranj has shared a workspace with them, seen Guiding Tech grow, and even played a small role in its journey. Sometime earlier this year, I sat down with Guiding Tech’s founder Abhijeet Mukherjee for a chat about his journey, running an internet business in India, and what the future holds for him and the media industry.
- Prateek Rungta
- Hey Abhijeet. Is it Guiding Tech or Guiding Media? What is it that you folks do, and how do people find you?
- Abhijeet Mukherjee
Hey Prateek. The company which I run is called Guiding Media, and it comprises of a website which is guidingtech.com, and three channels on YouTube. We make content on personal technology, explain technology, help people make purchase decisions when it comes to gadgets and tech, and of course, we also solve tech problems. Basically, we are an evergreen tech content site.
People come to us through Google. They search for issues, they search for help, and that is how they land on our site.
- Where did you come across the idea for Guiding Tech. Was this the very first thing you did, straight out of college?
I never went to college, actually. I did my graduation through correspondence while I was working at call centres, which were a pretty big phenomenon in India then. I’m talking early to mid-2000s. That’s where I learnt that helping people and solving their tech problems is a big market.
I used to work with companies like Wipro and Dell, and I was solving people’s tech problems over the phone. Blogging was just taking off at that time. There were a few tech blogs, but they were still not mainstream.
I knew how to write, and I really wanted to do something on the internet, and most importantly, I wanted to be self-employed. That’s when I decided to start this. I quit my job around 2008 and started a personal blog — it was called Jeet Blog. I started writing tech content. It picked up from there. I also started freelancing for other sites.
After two years of dabbling around and trying a lot of things on the internet, I decided that I should create a long term asset, because this is what I knew. That’s when I started Guiding Tech in 2010. I worked on the site pretty much alone initially, and after two years started bringing people on board. It’s been going on since then and we’ve been growing slowly and steadily.
- Why didn’t you just grow Jeet Blog? Why something else called Guiding Tech?
When I started Jeet Blog, initially it worked well. It got a lot of traffic and everything, but I quickly understood that making money from it was going to be difficult, at least in the short term. Since I had quit my job and I had no savings, I needed money immediately. So I started freelancing for other sites. Jeet Blog went on the back-burner.
In the next 2 years, from 2008 to 2010, I had developed some cushion. That’s when I thought of starting a new brand which is not dependent on my name. I wanted the brand to be independent of me. Since I had some cushion, I knew that I can do with not making money from this for at least a year. That’s how I bought a new domain name and started a new brand.
- And what has the journey been like? Where are you today compared to where you started?
I was doing everything basically – maintaining the site, worrying about the business, how to make money, and of course during the initial years, I was also doing all of the writing, editing, everything. Eventually I started distancing myself from writing because I had to manage the writers and take care of the business. You wouldn’t find my byline on the content. That was the plan from the get-go, because if I had to expand, I needed help with content creation.
I mainly hired writers as freelancers. The internet doesn’t require you to hire locally. As long as you can get the work done, it doesn’t matter where your staff is. We still have a lot of remote employees, but now I have an office and a few people there, primarily because we’re also doing YouTube, and executing that remotely is impossible.
Over the years, my role has evolved to that of a primarily founder or CEO or publisher — someone who supervises, strategises, shares ideas, gives execution plans, delegates a lot of work, and ensures the work is done. Be it in the writing department, or the video production department. And I still continue to deal with the business part myself, be it sales or admin.
- Do you involve yourself in editorial oversight?
- I’ve got an editor, but I am still involved in setting the path, and in editorial strategy. Some of the editorial decisions I continue to make as the editor-in-chief. Not on a daily basis, but definitely few times a month. I’m still involved in editorial oversight, but I do not micro-manage the editorial team anymore.
- Is it fair to call Guiding Tech a media company?
- Yes, it is. Guiding Media is the company name. I’m stressing on this because eventually we might even start non-tech properties. GT is the tech brand of Guiding Media.
- In that case, let’s talk about the media industry. It has seen significant disruption, innovation, and changes in recent years. The internet has completely shackled the old guard. Guiding Tech, however, is a post-2010 company built on the internet, not an old traditional media house. Would it be fair to call you a disruptor of the old media, or have you yourself been around long enough to see media consumption habits change during Guiding Tech’s existence?
Media and content have undergone tremendous changes in the last 8 to 10 years. It was a completely different ballgame when I started. Today everyone is disrupting something while also getting disrupted themselves, because the audience has the power now. The number of people consuming content may not have grown exponentially, but content production has. People who want a piece of the pie have grown, while the piece that you’ll get is getting smaller and smaller.
Content generation used to be the prerogative of a few people — the big media houses. But now everyone can generate content, and that’s what media is. It is content, at the heart of it. When your audience is generating content, sometimes as good or even better than you, then aren’t they too part of the media? That’s what the entire industry is grappling with. It is a crowded space with so many players. How do you survive?
New ideas keep coming up. Yesterday it was ads, today it is subscriptions, tomorrow it will be something else. It’s getting tougher and the road ahead is extremely treacherous; a lot of companies have folded. I think India has been slightly untouched, but it’ll happen here too, sooner or later.
- Can we attribute any of this to the proliferation of smartphones, internet penetration, and networks such as Jio?
Oh yeah. The iPhone started the apps revolution and the mobile content generation revolution. And if you talk about India, Jio has been a total game changer. It has taken YouTube to the rustic heartlands where people may not be educated enough to do a Google search, but are now watching YouTube. These new accessibility options for people across the world have completely changed the game.
Media companies, especially the old ones, are slow. They don’t want to change that fast, and I wouldn’t blame them because grappling with this kind of change when you’ve been operating in one way for decades… is not easy. Everyone’s looking and trying to adapt, but by the time they adapt, more will have changed.
- So how does Guiding Tech not have any Android or iPhone app?
Initially we did not have an app because of lack of resources — creating a good app requires time, money and the right people. For the first few years I wanted to focus on getting the site off the ground and establishing it. Also, I don’t think there was any immediate monetisation model for apps at that point of time. I wasn’t too sure.
When the time came, when I could have gotten an app off the ground, consumption habits had changed. There were way too many apps, and it didn’t make a lot of sense to have a separate GT app because our audience primarily comes through Google search. What I call high-intent micro-moment, wherein at any point during the day if they are looking for something and they want a problem to be solved, they search on Google and land on our site. Guiding Tech is not exactly a site you scroll through at leisure, or one that forms part of your weekend reads. It didn’t make sense to build an app because in order to visit an app, you need to have that kind of intent.
But you never know, we might still do it because at least it is a good branding medium, if nothing else.
- The other factors that you mentioned were Jio enabling internet penetration into the heartlands of India, and YouTube. Are you doing anything to make the most of this new audience?
- Yes, that is why we started a Hindi channel, and that has grown pretty fast, faster than the English channel. It is called GT Hindi and it is on YouTube. We also started GT Gaming which is primarily in Hindi.
- Why do you think the Hindi channel has five times more subscribers than your English channel?
- It is actually more than that. The answer is pretty clear — India has more Hindi speaking audience, or people who speak in regional languages. English speaking audience forms a minuscule part of the entire population. Now that Jio has taken internet to the heartland of the country and YouTube works on it, that audience has grown on YouTube and that is why they are the bigger audience now.
- Let’s talk about India. You have grown up in this country, you’re running your business in this country, but the platform your business runs on — the internet — is a global medium, and you reach a global audience. With that perspective, what is it like running a digital business from India?
It has gotten better over the years. It wasn’t very smooth initially — it is still not very smooth, so to speak. The problem is primarily when it comes to administration, things like taxes, getting refunds, and all that. Guiding Media is primarily an exporter because our international audience is bigger than the Indian audience. Our primary money making source is selling space for ads. And these ads are being run by companies that bill from outside India, like Google Adsense, or any other ad agency. The money comes in dollars, and we also make a lot of payments in dollars which attract reverse taxes and all that. Getting those refunds hasn’t been very easy.
If I were to run this from the US, it would have a better eco-system; finding talent would’ve been easier. Infrastructure too, I guess. We now have really good internet speeds here, probably better than a lot of developed countries, but it was a challenge initially.
- What about the cost of living? I think Delhi — where we are both based out of — is a lot cheaper than a first world country like the US, or somewhere in Europe.
- Absolutely. Being an exporter, that really helps because you earn in Dollars or Pounds, and with the current exchange rate that translates to more amount in Rupees. And if you’re able to hire people from within this country, that translates to better operating margins. I do have people from outside the country on my payroll, but over the years I have tried to shift to hiring staff from India. Finding talent has been a challenge, but there is a clear advantage there. You are able to make better income and you are able to grow the business.
- Who do you consider to be your peers — in India, and internationally?
I think tech is pervasive. Tech content is everywhere. So our peers and competitors are the smallest of tech sites and YouTube channels, as well as the largest media houses. All of them have tech verticals now. Outside the country too, be it a huge site like LifeHacker, or sites like How to Geek or Make Use Of.
I do not consider a specific set of sites as my peers anymore. A YouTub-er working out of his home creating tech content, or a huge media house with a tech media team, they are all our peers or competitors, whichever way you want to put it.
- Let us now shift gears to talk about your primary source of revenue – advertising. How does it all work and bring you money?
We do two kinds of ads. One is programmatic, i.e automated ads that could be from a service like Google Adsense or any other ad agency. We keep trying various agencies from around the world but Google, of course, has been a source of revenue since the start and I think it’ll continue to be for a long time to come.
The other kind is direct or branded content, where we create content around a brand’s USPs and get paid directly from the brand. We have been getting a good amount of branded content lately and that is something we want to focus more on, going forward.
These are the two ways we make money.
- People who encounter ads on the internet don’t usually have a lot of great things to say about the experience. What is your experience as a reader? When consuming content on the internet, do you like seeing ads, do you use an ad blocker?
I don’t use an ad blocker because I would definitely want to see how the ads on my site look, and on other sites as well to see how different companies are trying to innovate around ads. But I get what you’re saying. I think that everyone is responsible for this — the content companies as well as the people who started the programmatic revolution.
Everyone took the audience for granted and they didn’t focus on providing the best experience. That is why audiences developed what we call banner blindness. That is why ad blocker adoption is at an all time high. I don’t know how this will go on from here, but things are changing. IAB has mandated that intrusive ads shouldn’t be adopted. Google has banned pop-ups and said they will block sites that push pop-ups or very intrusive ads. I think that in the recent past, and in some time to come, you will see that the most intrusive ads only exist on very questionable sites. They wouldn’t be a part of the mainstream.
- Two other concerns in recent years — privacy invasion by ads that track you around the internet, and performance impact when you visit a website with a lot of ads using your phone. Are they hurting you? Is the ad industry doing something to cope with that?
- The ad industry is being pushed to do that. Regulation will eventually force the ad networks to prioritise privacy—GDPR is a recent example. I’m not sure how the business will work though because it is heavily dependent on data and re-targeting. When it comes to performance though, we’ve been seeing improvements. The effect on the page load, what I see now versus a year or two ago, it’s been a significant improvement, especially with new technologies like header bidding. It is not perfect, there is a long way to go, but overall I do think that now the ad networks as well as media companies have finally started taking it seriously and they will make innovation in this area a priority.
- Miranj, as you know, builds websites. We work with these things all day and can’t stop obsessing over them. So let’s turn our focus to the GT website, your main asset. What are your thoughts on design? How does it impact your content?
- Design is both how it looks and how it works. How it looks, because there are so many such sites around — how do you stand out? This is where branding plus design matters. How it works, is the user experience. When the audience comes to your content, are they able to go through it smoothly? Is it solving their problem? Is it readable, or watchable, for that matter? Design plays a very important role in all this.
- You have gone through a couple of design revisions — three, maybe? What prompted the redesigns and how has each design iteration impacted Guiding Tech?
There are multiple factors that come into play when I plan a redesign. Of course, being in line with the current trend, and what the audience is getting used to when it comes to consuming any kind of content online, is an important consideration. When, let’s say, Google brings in material design, it is obvious that eventually a huge part of our audience will get used to that. Then our design will become outdated. It is important since the web is changing its dynamic, and it changes fast, that we keep ourselves abreast of that, and change accordingly. That is one factor.
Other than that — innovations and ad networks; maybe we want to try something new which is not possible in our current design; of course, aesthetics also come into play; maybe I have an idea that certain part of the site can look better, and in the current design it is not possible.
- Have you seen your redesigns bring you these benefits — for you, your team, as well as your readers?
- Well the benefits have never been immediate. It takes time. But with each redesign, I have seen incremental benefits. When it comes to how people are spending time on the site and how the perception of the site is growing positively — be it among brands and agencies we work with, or our audience. So incremental improvements are there, and eventually, I think with every redesign I have only gained.
- What about the backend of Guiding Tech?
- We were on WordPress initially, and later switched to Craft, thanks to you. Using a good CMS is extremely important. It makes content creation easier. The primary thing in my mind when it comes to the backend, is the productivity of the editorial team. They should be able to create the best content without worrying about the nitty-gritty of the technology they are working with.
- Say you want to try out a new article format, or you want to try different ways of showing articles — how often do you experiment with the website?
- We usually experiment and incorporate new ideas with each redesign. But we do not do that on an ongoing basis. It would require more resources and a proper tech team. Chances of things going wrong also increase, which would then need fixing. I would certainly want to do these, but we are not there yet. These are the things which bigger media companies do.
- Let’s do some foretelling. Where do you think the content & media industry are headed? Who will be standing strong, say, five years from now? Will there be a grand consolidation, or will the big media houses go away?
I have lots of thoughts on this. First, we have to understand the current state of media and content — who the publishers are, what their monetisation model is. Only then can we predict survival. There was a time when media brands were revered. This was when the internet started. That has completely changed now; I’m seeing that we’re not loyal to any one brand.
The big digital media players — BuzzFeed, Vox etc. and some in India too, are heavily VC funded but not growing at a great pace. If they weren’t VC funded, it would’ve been fine, but that is not the case. For these organisations it is a question of survival, because VCs need those returns. So they’re branching out into all sorts of things — products, events, whatever.
However, I feel like the bigger companies, be it the old guard, or the newer digital players, will survive. A bunch of them will fold, shut shop, and some will be forced by VCs to combine and create a conglomerate; but they will survive. Of course it’ll depend on how well they are able to diversify, because they can’t just survive on advertising, or even subscriptions for that matter.
When it comes to smaller players, it has been pretty clear for them since the get-go — they need to remain sustainable, run a small shop, focus on profits, grow slowly and steadily, and as soon as there is a big change, adapt.
The folks who are in the middle, they are at risk. They know they can’t scale up because they’re seeing how the bigger VC-funded players are getting affected, and for them getting smaller is a challenge, because they will have to, let’s say, fire dozens of employees. I think consolidation will happen at the top end.
- And where is Guiding Media — in the small, middle, or big league?
- I always wanted to scale and grow really big but I have grudgingly admitted that growing that big, especially in the media business after taking funding might not be the best way forward. I’d say, we’re somewhere between small and middle. In the larger scheme of things, I think we are small – we’re not doing news, we are creating focused content, so we have an edge there. If we expand, we might create more niche properties where the focus is well defined and there we will have to see how we can create an audience which we can monetise.
- 2010 to 2019, almost ten years of Guiding Media. Three million plus average monthly visitors, more than a million subscribers on YouTube. Looking back, do you feel you have created that long term asset that you initially wanted to, with Guiding Tech? Do you feel you have ‘made it’, so to speak?
It is an interesting question. I’m not sure I would say that I have made it. I continue to go through existential crisis on — maybe not a daily basis, but definitely a weekly basis. It’s been so long now, and I’m the kind of person who usually gets bored with things quickly. It’s in my nature, I think.
I would say that I have been successful in creating the asset. A moneymaking asset which, if I leave for a month or two, wouldn’t hurt me. Of course if I leave it for long then it will come back to bite me. I have not been very successful in growing it at a huge scale that I might have imagined initially, but then the media landscape changed and I understood that growing at that scale may not be all that lucrative. But what’s next? That question keeps bothering me and that is a question to which I haven’t yet figured out an answer and I’m currently working on that.
- Thank you very much Abhijeet.
- Thanks a lot Prateek. Nice talking to you.
2017 was a year of some pretty significant shifts inside Miranj. The changes were so fundamental that they affected almost everything we did. The initial results were encouraging, but only now — two years into the experiment — can we fully appreciate the impact. Our first six years were about finding our feet, about survival. We are now starting to find our voice. Here’s 2018, in review.
We worked on eight different projects of varying sizes in 2018. Each project had its own set of challenges, but there were some in particular that stood out.
We’ve always strived to build performant websites, but we’ve never really had to deal with heavy loads. Performance takes a whole new meaning when a site is accessed by 50 to 100 people every second. This is the challenge that Guiding Tech came to us with. It is amongst the top 11k websites on the entire internet, and its traffic far outpaced any other project we had worked on so far. Guiding Tech gave us the opportunity to double down on and really push the limits of server-side optimisation. We learned a lot about Nginx, caching, concurrency, and were able to make major strides in handling massive loads on low-powered hardware.
We have been able to take the optimisations from this project and apply them far and wide. We also shared some of our learnings with the community at ReactFoo Delhi 2018, and have another talk on performance coming up this September.
There had been a growing itch to work on multi-lingual and non-English projects. I found it more than a little ironical that in a country with 22 official languages and only about 10% English speakers, all websites we were building were in English. 2018, finally, brought the opportunity to break out of the English bubble. We did a Burmese edition site for Myanmar Institute of Information Technology (also our first university website, yay!), and French, Spanish, and German editions for conveyor belt manufacturers Forech. The latter even involved some fancy translations and content-sync on the backend via the Google Translate API.
Five new languages in 2018, but none native to the country we operate out of. We’re still looking for that elusive Indian language web project.
We have been believers in separation-of-concerns and anti-vendor-lock-in ever since we started Miranj. This has manifested itself in many different ways — making all content client-editable without developer intervention, sharing the source code along with instructions to host the website anywhere, maintaining full transparency about our collaborators, etc. This philosophy also made us averse to ever hosting a client’s website. We firmly believed that the website and its content were the client’s intellectual property, and should be controlled by them. We would instead always ask clients to sign up directly with a web host, and then deploy the website on those accounts.
This arrangement worked well initially but we started noticing some patterns over time.
- Deployments were getting more complex. Earlier it meant simply uploading a bunch of files to a folder on a fully-managed, shared web host. But now we were dealing with DNS management, CDNs, image processing tools, image optimisation tools, web server level configurations, automated backups, VPS management, security protocols, and more. A lot of different moving parts needed to come together to host a website.
- Software updates to the underlying CMS and plugins. We would want all our deployed sites to pull down these updates, but we were no longer actively engaged on the project, and applying minor point updates felt like too small a quantum of work to re-engage. Yet this was not a trivial task either, because sometimes a minor update could also end up breaking something major or having unintended consequences.
- Critical security fixes. This is the sort of thing we did not account for in our naivety and youth because it felt so rare, but soon realised is actually not that uncommon. Vulnerabilities such as Heartbleed and critical security updates such as Craft 2.6.2982 made us realise that we did not have a contingency plan for delivering these security updates to our clients. We took evasive action in these specific instances, but realised the need for a better fundamental approach.
- We were managing a lot of servers anyway. Our clients would always trust us with access to their servers. They would rarely revoke access at the end of our engagement, and we would often find ourselves fixing things on their servers, either of our own accord, or when they would bring something to our notice. This was all done pro-bono on a goodwill basis, outside any formal engagement.
At some point of time, we realised that while we did not offer hosting as a service, we performed a lot of what it entailed anyway. We also realised that ownership of content does not have to translate into ownership of infrastructure. Or rather, that Miranj can own the infrastructure, but still ensure that clients own all content and IP.1 Once we crossed that threshold, we found that there were a lot more benefits we could offer to our clients if we formalised this engagement, such as:
- Fully managed infrastructure – SSL, CDN etc. standard and baked in
- Security best practises
- Performance best practises
- Critical updates
- Robust, regular, automated onsite and offsite backups
- Automatically propagating any fixes for issues discovered across all sites we were managing
We signed our first batch of hosting clients in 2018, and we are grateful to them for placing their trust in us.
📦 Craft 2 Packages
Sometime during early 2018 we learned about a way to use Composer to install Craft 2 plugins.2 We were already managing a bunch of different Craft 2 sites, with at least four (dev × 2, staging, production) deployments per site, and adding new ones every couple months. The tedium of manual plugin installation had slowly but surely added up. So we jumped on the opportunity to automate plugin installation and have it under version control.
We adopted Derrick Grigg’s described method for two ongoing projects. Deployments became smoother. But the manual steps involved in the initial plugin install continued to feel like a chore, more-so now that one piece of the puzzle had been solved. One thing led to another, we went down a few internet rabbit holes, conducted many failed experiments, and finally realised that we could, probably, make plugin installs slightly easier. All we had to do was:
- Create a private Packagist server
- Maintain a human-editable list of Craft plugins
- Figure out ways to make plugins with different folder structures Composer-installable by issuing the standard
composer require <vendor>/<plugin>command
- Put in a process to auto-update the Packagist server whenever the plugin list is updated
- Allow the community to contribute and grow the repository of plugins
It was slightly insane, and I’m sure we lost more time doing this than we can ever make up in gained plugin installation efficiency, but we did it anyway. We launched craft2packages.miranj.in and managed to fully automate plugin installation.
My only regret is that we didn’t learn of this possibility sooner. Everything about Craft 2 Packages – inception, experimentation, and release – happened in May. Craft 3 was already out by then (released in April 2018) and most developers were in the process of switching over. While we are committed to keeping this server running for at least the next 10 years, we realise most Craft 2 projects are probably in maintenance mode now and will not go in for major changes. I feel like the community could’ve really benefitted from this had it been around when Craft 2 usage was at its peak.
We fell in love with Craft CMS when we built our first Craft powered website in 2014. We’ve built on it extensively in the following years. Craft also has a thriving developer community, largely centred in North America, Europe and Australia. Our interactions with this community were limited to Slack messages, at best. Then in 2017 they announced their own conference, Dot All. We decided to take the plunge and meet the community. Souvik travelled all the way to Portland, USA to attend the conference and put faces to all the Slack handles, GitHub handles, Stack Overflow users, and Andrew Welches (there had to be more than one). It was a wonderful experience and he had a great time.
That was 2017. Here’s Souvik narrating what happened the following year, in 2018 —
Our Craft implementations had matured significantly, especially our homegrown template architecture and code organisation which had been evolving over the last 3 – 4 years. I felt that it would be a valuable technique for other Craft developers and went on to propose a talk for Dot All 2018. A few weeks down the line, the Craft team invited me to take the stage at Dot All in Berlin. This was my first international speaking opportunity — undoubtedly, a pretty significant milestone. I felt the pressure while preparing for the talk and encountered frequent moments of excitement and butterflies-in-stomach along the way. The entire process took about two months of exploration, iterations and internal discussions before the final slides started taking shape a few weeks before the conference.
Prateek and I flew into Berlin a day ahead of the 3‑day conference. Although this was our first visit to Berlin (and Germany) we never felt lost (or alone) thanks to the constant stream of suggestions and recommendations on the Dot All Slack. We kept bumping into fellow attendees everywhere — in the hotel, at the venue, at nearby bars and eateries. It was a lot of fun.
My talk was scheduled for the third (and final) day of the conference. I kept working on my slides from the sidelines and the tweaks continued until about half hour before the presentation. I took the stage right after lunch, slightly nervous but definitely excited. The presentation went very well without any significant hiccups. It was the best version of all the rehearsals I’d done with Prateek and I was quite pleased. More importantly, it was received very well by fellow attendees. Many found it helpful, some had questions, a bunch of them gave us good feedback and asked us to share our code for reference and their understanding.
The overall experience was a growing one. We managed to shun our imposter syndrome, present in an unfamiliar culture (and geography) and hold our nerves throughout the experience. It was deeply fulfilling to engage with the Craft community and share our work and experience with everyone.
While we had a lot of highs, not everything went great, and it would be dishonest if we did not mention the lows in an annual review.
The first setback was the closing down of Design Fabric. The website had undergone a redesign earlier in the year and we took that opportunity to work on its performance as well. Using a bunch of different techniques we were able to make the media heavy Design Fabric, already one of our fastest shipping websites, even faster. We were proudly showing it off to clients and our peers. However the project was taken down shortly after the founder of the publication was accused as a part of the #MeToo movement.
The other major setback was in December. Three weeks into what was meant to be a much longer relationship, a project we were working on was brought to an abrupt halt. We had failed to resolve differences with the client or find common grounds on which to proceed. Having been in business for eight years now, we have encountered a healthy diversity of opinions and personalities. We would often take pride in our willingness and ability to use reasoning and discussion to resolve differences between teams, bridge gaps and move a project forward. This experience reminded us that we still have much to learn. This was the first time we found ourselves at a stalemate.
Running a business is no easy feat — between chasing new leads, managing ongoing projects, looking after our hosted websites, handling support for older projects, accounting and regulatory compliances, running an office, keeping up with the industry, learning new skills, and doing the actual design and development work to build websites, our team of two rarely finds time to pause and reflect. This review lets us do that; take stock of how far we’ve come, and appreciate how far we have to go.
2018 in Numbers
- Undertook 8 client projects
- Collaborated on 3 projects
- Delivered 5 talks
- Hosted 1 event
- Shipped work in 5 languages
- Plugins: 2 new releases, 1 update release, 1 new Packagist repository
- Worked with/in 3 countries
- Worked with 4 non-profit organisations
- Cups of coffee consumed: don’t know (we don’t keep track)
- 8 co-workers
- 11 new office plants
- 1 person got married
See you next year!
Each website is hosted on an isolated, dedicated VPS. There is no data sharing between different clients, and we offer clients complete access to their server via SSH, if needed. ↩︎
This might sound like a banal statement to some of you, in which case, let me remind you that while Craft 3 uses Composer natively to install itself as well as plugins, this was not the case with Craft 2. The Craft 2 plugin installation process involved manually downloading the code and placing it inside the designated plugins folder. While this was not a terrible workflow, it was far from ideal. ↩︎
On the 23rd of February, we celebrated World Information Architecture Day (WIAD) 2019 — a one-day annual celebration that seeks to evangelise the practice of Information Architecture around the globe. This year’s global theme was “Design for Difference” — an important consideration in every aspect of our work (and beyond).
This year we had a series of talks by different speakers sharing various perspectives on IA and diversity. Here’s a short overview of the 4 talks (with links to their slides).
Intro to Information Architecture
First up was Namita Mohandas who works as an independent Information Designer. She started off by explaining the difference between complex, complicated and confounding decisions and went onto introducing everyone to the world of Information Architecture. (See Namita’s slides)
Walk in the Park
Nishita Gill, the founder of Treemouse, delivered the second talk of the afternoon. Nishita shared how her team conducted research in rural Punjab to understand the reason behind the low adoption of Hepatitis C drugs. (See Nishita’s slides)
Encouraging Civic Engagement Through Design
The third speaker Adrija Jayanthy works with Nyaaya. Her talk brought out the diversity in Indians laws and how Nyaaya is trying to make them more accessible to the common person. (See Adrija’s slides)
The City Around You
The final speaker Rajesh Advani is the founder of ArchitectureLive!. Through various anecdotes and videos, Rajesh explained how architecture (and city-planning) can be made more inclusive. (See Rajesh’s slides)
We look forward to more conversations on Information Architecture in the coming years.
Back in 2014 we were looking for a Content Management System (CMS) that could fit our concept of a website constructed from a collection of atomic pieces of content. Our search led us to Craft CMS – it was still a fairly new CMS back then but it looked promising. We initially adopted Craft for a project where the website was moved from WordPress. In the next project the move was from Drupal. Both implementations were a learning experience but the outcomes reinforced that we made a good choice. The latter has now grown to be our largest Craft implementation.
Craft CMS makes no assumption about the content. It frees our thinking from the shackles of the WordPress content model (Posts and Pages) while at the same time does not weigh us down under Drupal-like technical baggage. Being able to model content from scratch (almost treating the content model as data) and not being held back by any starter theme helps unlock creative freedom. As a result, we can hand-craft a website’s information architecture, user interface and user experience without the CMS acting a hurdle (or barrier).
Our relationship with Craft strengthened over time and 3 years since our discovery, in 2017, I found myself attending two conferences in the US: Peers (Craft CMS was a sponsor) and Dot All – the first official Craft CMS conference. Little did I know that the very next year I’d be taking the stage at the Craft CMS conference.
Any system that offers high flexibility, in turn, demands a disciplined approach – and that applies to Craft as well. With each passing project executed in Craft, we inched towards a disciplined approach for content modelling and developed a modular templating architecture that can be used in a large number of use cases, especially sites that contain a lot of information. I presented this architecture at Dot All 2018, in Berlin.
The talk walks through how our imagination of a website has evolved over the years and goes on to outline our current approach and utilises these fundamental principles—
- modelling content and giving them a structure (objects)
- separating content (objects) from presentation (views)
- defining presentations (views) based on a clear purpose
- ensuring presentations (views) are evolvable in order to serve a different (or greater) purpose
I further go on to explain the implementation that uses a Routers-Views-Components-Layouts paradigm. It’s amazing how we’ve been able to simplify large and complex websites using this approach – making our work more flexible, scalable and maintainable.
Here’s a video of the full talk —
It’s always great to meet the Pixel and Tonic team, and the Craft CMS community who we mostly know through
Slack Discord. I got great feedback on the talk, and based on Andrew’s recommendation went on to convert Craft’s Happy Lager demo site into our templating approach. It’s called Happier Lager and should be a good resource to observe the contrast.
Photographs courtesy Dot All.
It was my first time in Berlin (and Germany) and after the conference, I took some time out to visit a few other cities, which included Munich and the popular Oktoberfest 🍺.