Real time design tools

Just the other day I happened to wake up early. That is unusual for an engineering student. After a long time I could witness the sunrise. I could feel the sun rays falling on my body. Usual morning is followed by hustle to make it to college on time. This morning was just another morning yet seemed different.

Witnessing calm and quiet atmosphere, clear and fresh air seemed like a miracle to me. I wanted this time to last longer since I was not sure if I would be able to witness it again, knowing my habit of succumbing to schedule. There was this unusual serenity that comforted my mind. It dawned on me, how distant I had been from nature. Standing near the compound’s gate, feeling the moistness that the air carried, I thought about my life so far.

I was good at academics, so decisions of my life had been pretty simple and straight. Being pretty confident I would make it to the best junior college of my town in the first round itself, never made me consider any other option. I loved psychology since childhood, but engineering was the safest option. Being born in a middle class family, thinking of risking your career to make it to medical field was not sane. I grew up hearing ‘Only doctor’s children can afford that field’ and finally ended up believing it. No one around me believed in taking risks. Everyone worshiped security. I grew up doing the same.

This is what has happened to us. We want the things we have been doing forcefully to fail. And then maybe people around us would let us try something else or our dreams. We are accustomed to live by everyone else’s definition of success. We punish people for the things they are passionate about, just because we were unable to do the same at some point in our life.

I feel like these concrete buildings have sucked our desires and our dreams. We are so used to comfort that compromise seems like a taboo. We have lost faith in ourselves. If we can make through it right now, we can do the same in the days to come. You only need a desire to survive and nothing more- not money or cars or designer clothes.

Staying locked up in four walls have restricted our thinking. I feel like our limited thinking echoes through this wall. We are so used to schedules and predictable life that we have successfully suppressed our creative side.

When you step out of these four walls on a peaceful morning, you realize how much nature has to offer to you. Its boundless. Your thoughts, worries, deadlines won’t resonate here. Everything will flow away along with the wind. And you will realize every answer you had been looking for, was always known to you.

It would mean a lot to me if you recommend this article and help me improve. I would love to know your thoughts!


Time is passing by

CSS selectors all exist within the same global scope. Anyone who has worked with CSS long enough has had to come to terms with its aggressively global nature — a model clearly designed in the age of documents, now struggling to offer a sane working environment for today’s modern web applications. Every selector has the potential to have unintended side effects by targeting unwanted elements or clashing with other selectors. More surprisingly, our selectors may even lose out in the global specificity war, ultimately having little or no effect on the page at all.

Any time we make a change to a CSS file, we need to carefully consider the global environment in which our styles will sit. No other front end technology requires so much discipline just to keep the code at a minimum level of maintainability. But it doesn’t have to be this way. It’s time to leave the era of global style sheets behind.

It’s time for local CSS.

In other languages, it’s accepted that modifying the global environment is something to be done rarely, if ever.

In the JavaScript community, thanks to tools like Browserify, Webpack and JSPM, it’s now expected that our code will consist of small modules, each encapsulating their explicit dependencies, exporting a minimal API.

Yet, somehow, CSS still seems to be getting a free pass.

Many of us — myself included, until recently — have been working with CSS so long that we don’t see the lack of local scope as a problem that we can solve without significant help from browser vendors. Even then, we’d still need to wait for the majority of our users to be using a browser with proper Shadow DOM support.

We’ve worked around the issues of global scope with a series of naming conventions like OOCSS, SMACSS, BEM and SUIT, each providing a way for us to avoid naming collisions and emulate sane scoping rules.

We no longer need to add lengthy prefixes to all of our selectors to simulate scoping. More components could define their own foo and bar identifiers which — unlike the traditional global selector model—wouldn’t produce any naming collisions.

import styles from './MyComponent.css';
import React, { Component } from 'react';
export default class MyComponent extends Component {
 render() {
    return (
      <div>
        <div className={styles.foo}>Foo</div>
        <div className={styles.bar}>Bar</div>
      </div>
    );
  }

The benefits of global CSS — style re-use between components via utility classes, etc. — are still achievable with this model. The key difference is that, just like when we work in other technologies, we need to explicitly import the classes that we depend on. Our code can’t make many, if any, assumptions about the global environment.

Writing maintainable CSS is now encouraged, not by careful adherence to a naming convention, but by style encapsulation during development.

Once you’ve tried working with local CSS, there’s really no going back. Experiencing true local scope in our style sheets — in a way that works across all browsers— is not something to be easily ignored.

Introducing local scope has had a significant ripple effect on how we approach our CSS. Naming conventions, patterns of re-use, and the potential extraction of styles into separate packages are all directly affected by this shift, and we’re only at the beginning of this new era of local CSS.

process.env.NODE_ENV === 'development' ?
    '[name]__[local]___[hash:base64:5]' :
    '[hash:base64:5]'
)

Understanding the ramifications of this shift is something that we’re still working through. With your valuable input and experimentation, I’m hoping that this is a conversation we can have together as a larger community.

Note: Automatically optimising style re-use between components would be an amazing step forward, but it definitely requires help from people a lot smarter than me.


My tech travel setup

MacBook Pro

Robert Capa, a famous photojournalist once said, “If your pictures aren’t good enough, you’re not close enough.” It’s not just about zooming in with your lens, either. It’s about getting physically closer to people and getting to know them better. It’s also about spending a little time with a stranger before taking their photo. That helps build the trust and comfort that’ll come through in your pictures. Walk up to your subject with a simple wave and a smile to help communicate that you mean no harm.

Ask permission to take a photo if they speak the same language as you. If you don’t share a language, try learning some basic phrases ahead of time, gesture at your camera and ask through expression. Of course if someone doesn’t want their picture taken, it’s imperative to respect their wishes and move on — people are always more important than photographs. National Geographic writes that “making great pictures is primarily a mental process.” What makes you want to photograph the person or place? How might you describe it to a friend, and what adjectives would you use? Are there details you can focus on that tell a story?

iPad/iPhone

Maybe it’s a dry, arid desert, captured by focusing on the patterns of cracked earth. Or a prairie that’s photographed with the horizon at the bottom of the frame, to help create a sense of the open sky and tranquility. Or maybe it’s the story of a deft artisan, fingernails covered in wet clay as she molds a pot. When you’re on the road it can be tough to eat right and make sure you get all the right nutrients. I started taking daily supplements of Multi-Vitamin, Fish Oil capsules and Vitamin D and it helps a lot. Especially the Vitamin D since I don’t get to see the sun a lot during the winter in Sweden.

Sennheiser HD-25 Headphones

It’s difficult to recreate the grandeur of a vast landscape in the confines of a picture frame. But one way to add a sense of depth to your photos is to compose them with objects in the foreground that support the scene. It can be as simple as a winding road through a national park, or some rocks to show off the local geology.

If you’re taking photos of people during normal daylight hours, a quick way to get more flattering light is to move the person out of direct sunlight. The light is much “softer” and doesn’t cast stark, unflattering shadows across their facial features. Even better, have someone stand next to an open door or window as the single source of light.


I was recently quoted as saying, I don’t care if Instagram has more users than Twitter. If you read the article you’ll note there’s a big “if” before my not giving of said thing.
Of course, I am trivializing what Instagram is to many people. It’s a beautifully executed app that enables the creation and enjoyment of art, as well as human connection, which is often a good thing. But my rant had very little to do with it (or with Twitter). My rant was the result of increasing frustration with the one-dimensionality that those who report on, invest in, and build consumer Internet services talk about success.
Numbers are important. Number of users is important. So are lots of other things. Different services create value in different ways. Trust your gut as much (or more) than the numbers. Figure out what matters and build something good.

The new brand identity

I stumbled upon the concept of margin while reading a post by Michael Hyatt, which led me to design my ideal week. Richard Swenson, M.D. (who wrote the book: Margin: Restoring Emotional, Physical, Financial, and Time Reserves to Overloaded Lives) describes margin like this:

Margin is the space between our load and our limits. It is the amount allowed beyond that which is needed. It is something held in reserve for contingencies or unanticipated situations. Margin is the gap between rest and exhaustion, the space between breathing freely and suffocating.

Last year I wrote about why booking too far in advance can be dangerous for your business, and this concept of margin so eloquently captures what I had recognized had been my problem: I was so booked up with clients that I wasn’t leaving any margin for error, growth, planning, or reflection. I wasn’t really growing my business in a sustainable way; I was just booking one client after the next. At the time this seemed like a good thing: doesn’t growing my business mean getting more clients?

A long redesign.

What if instead of booking up to 100% capacity (which more often than not ends up being closer to 120%), we only booked up to an 80% capacity?
What if we left more room for growth (personal or professional) and stopped being one with “busy-ness”?
I spent nearly a year turning down every new project (and even getting rid of old ones) so that I could reduce my workload, build in more margin, and create what is now Digital Strategy School. It takes time to build margin into your schedule.Write a book. Create a program. Update your contracts and proposals (which has been on your to-do list for how long..?) Spend more time with your family. Go above and beyond for a client. Learn something new. Actually follow through on the things that have been nagging at you for a long time.

When you design your ideal week, you start to see that the time you think you have is often not in alignment with how much time you actually have.

After designing my ideal week, I had a much clearer idea of how to create a framework for my week that would empower me to feel more focused by theming days of the week, and even parts of the day. SO simple, I know. Some of you have been doing this for ages and you’re already a pro, and some of you who saw my schedule said “woah, that’s so rigid, I need more flexibility!”

Structure enables flexibility.

If you’re not sure how much time you are actually spending on various tasks, use a tool like Rescue Time (their free version is excellent!) which runs in the background and tracks where your time is being spent. It can even send you weekly reports so you know exactly how much time you wasted on Facebook, or spent in your email inbox! You can assign different websites or programs/applications on a scale of very distracting to very productive, so you can see at a glance things like: which days of the week you’re most productive, which times of the day you’re most productive, and the sites on which you’re spending the most distracting time. Turns out I’m consistently “in the zone” around 3pm in the afternoon; so instead of trying to tackle highly creative work first thing in the morning (when my brain is barely functioning), I handle it in the afternoon, when I know I’m at my peak!

Creating more margin has been game-changing for my business.
What would be possible for yours?


A day alone at the sea

Just the other day I happened to wake up early. That is unusual for an engineering student. After a long time I could witness the sunrise. I could feel the sun rays falling on my body. Usual morning is followed by hustle to make it to college on time. This morning was just another morning yet seemed different.

Witnessing calm and quiet atmosphere, clear and fresh air seemed like a miracle to me. I wanted this time to last longer since I was not sure if I would be able to witness it again, knowing my habit of succumbing to schedule. There was this unusual serenity that comforted my mind. It dawned on me, how distant I had been from nature. Standing near the compound’s gate, feeling the moistness that the air carried, I thought about my life so far.

I was good at academics, so decisions of my life had been pretty simple and straight. Being pretty confident I would make it to the best junior college of my town in the first round itself, never made me consider any other option. I loved psychology since childhood, but engineering was the safest option. Being born in a middle class family, thinking of risking your career to make it to medical field was not sane. I grew up hearing ‘Only doctor’s children can afford that field’ and finally ended up believing it. No one around me believed in taking risks. Everyone worshiped security. I grew up doing the same.

‘Being in the top will only grant you a good life’ has been the mantra of my life. But at times, I wish I was an average student. I wish decisions would have not been so straightforward. Maybe I would have played cricket- the only thing I feel passionate about. Or maybe I would have studied literature (literature drives me crazy). Isn’t that disappointing- me wishing to be bad at academics. It’s like at times I hate myself for the stuff I am good at.

This is what has happened to us. We want the things we have been doing forcefully to fail. And then maybe people around us would let us try something else or our dreams. We are accustomed to live by everyone else’s definition of success. We punish people for the things they are passionate about, just because we were unable to do the same at some point in our life.

I feel like these concrete buildings have sucked our desires and our dreams. We are so used to comfort that compromise seems like a taboo. We have lost faith in ourselves. If we can make through it right now, we can do the same in the days to come. You only need a desire to survive and nothing more- not money or cars or designer clothes.

Staying locked up in four walls have restricted our thinking. I feel like our limited thinking echoes through this wall. We are so used to schedules and predictable life that we have successfully suppressed our creative side.

When you step out of these four walls on a peaceful morning, you realize how much nature has to offer to you. Its boundless. Your thoughts, worries, deadlines won’t resonate here. Everything will flow away along with the wind. And you will realize every answer you had been looking for, was always known to you.

It would mean a lot to me if you recommend this article and help me improve. I would love to know your thoughts!


I was recently quoted as saying, I don't care if Instagram has more users than Twitter. If you read the article you’ll note there’s a big “if” before my not giving of said thing.
Of course, I am trivializing what Instagram is to many people. It’s a beautifully executed app that enables the creation and enjoyment of art, as well as human connection, which is often a good thing. But my rant had very little to do with it (or with Twitter). My rant was the result of increasing frustration with the one-dimensionality that those who report on, invest in, and build consumer Internet services talk about success.

Numbers are important. Number of users is important. So are lots of other things. Different services create value in different ways. Trust your gut as much (or more) than the numbers. Figure out what matters and build something good.