Time tracking can be useful. It helps you keep track of billable hours, gives you a detailed overview of what people are working on, and shows you which projects are falling behind schedule. But time tracking can also have unforeseen impacts on your team’s culture.
Time tracking can make your team feel like they’re being watched. The pressure to account for everything they do kills creativity and drains the fun from the work. It can also lead an individual to question their abilities.
“Am I a bad programmer because Brian can build this feature in two hours when it took me five?”
The pace at which work is produced doesn’t represent the quality of the work. I’d rather have a great piece of work that took five hours, than an okay piece that took two. (Sorry Brian)
By far the most destructive thing about time tracking is that it shifts the focus away from the work itself. Valuing the amount of hours someone logs above the quality of their work is insane. Billable hours don’t mean a thing if they were spent producing shoddy work.
So think twice before you start tracking time. It might not give you the results you were hoping for.
I hesitated to write this post for a while. I think mainly because I don’t consider myself ‘fixed’. I don’t have a solution to share that will help people in a similar situation to get back on track. I think that’s okay though. The purpose of Geek Mental Help Week is to create a discussion around mental health in the tech community, not necessarily to provide all the answers.
I had always considered myself a happy and optimistic person. Someone that could see the silver-lining in a bad situation. The type of person that is confident in themselves.
Over the past twelve months that driven and ambitious person that many of my friends would recognise has slowly faded. My ability to enjoy life and experience happiness has become increasingly suppressed. My curiosity has dulled. It’s like I’ve become detached from the world around me. Left to observe, but not truly experience the joys of life.
It’s taken me a long time to understand what I’ve been feeling. The past twelve months have been far from settled. A change in job, move to a new town, and the passing of my niece (as well as two grandparents) have all presented new challenges to overcome.
With so much going on, it’s easy to rationalise feeling a little unsettled. I would convince myself that everything would go back to normal if I could just get through the next challenge. The problem is, there will always be a new challenge on the horizon. That normal I’m referring to is in the past now.
My experiences over the past twelve months have changed me. I will never again be the person that I was, but that’s good. In order to grow we need to change. We need to experience new things, new challenges. After all, who we are as a person is the sum of our experiences in life.
I believe that it is my resistance to change that has caused me to lose touch with who I am. This sounds so simple that I feel somewhat embarrassed that it took me so long to figure out.
However, this realisation alone is not enough to ‘fix me’. It’s not a silver bullet that will cause me to wake up tomorrow feeling as good as I used to. It’s going to take time for me to rediscover who I am. To get my curiosity back. To find a new normal.
I don’t have a solution to share with you today. For me, I’ve only just identified the problem. But for the first time in months I feel like I’m making progress. Things are getting better.
I have a tendency to portray a perfect version of myself online. I play it safe and only share things that highlight my strengths. This may satisfy my own personal fears and anxieties, but it does no good for those around me that are tackling similar challenges. It’s easy to feel alienated when everyone else appears perfectly fine. So I’m making it my goal to speak more openly about my struggles.
Despite what the internet might have you believe, not everyone is okay. You are not alone.
It’s important to remember that measured performance and perceived performance do not always align. The brain is a strange organ that has a habit of distorting the reality around us.
In his book High Performance Browser Networking, Ilya Grigorik sets out some guidelines for the humans’ perception of speed. Keep these in mind when performance testing your websites.
Until recently I had spent almost my entire working life doing my own thing. Starting companies, consulting for clients, writing tutorials. I had complete control over what I worked on and how I went about my day.
Enjoying that kind of freedom for five years re-wires your brain. The thought of taking a regular job made me nervous. I had convinced myself that working for yourself for an extended period of time makes you unemployable.
I gave up my place at university to start my first real business so I had the extra pressure that I didn’t have a degree. On paper, I wouldn’t look too interesting to a recruiter. I felt that I had to make things work with the business otherwise I’d be out of a job with little chance of finding a new one.
This is a feeling that I hear from other entrepreneurs too. Going your own way gives you a lot of freedom, but with that freedom comes a pressure that’s not always visible to those around you. I think it’s this pressure that leads us to think that if we don’t build the next Facebook then we’ve failed. That our peers will view us as a failure.
This is ridiculous.
Just because you’ve had a shot (or a few shots) at starting your own thing doesn’t make you unemployable. You can get a job that gives you just as much freedom and makes you just as happy (if not more so) than you are now. I know because I’ve done just that.
Being an entrepreneur doesn’t make you unemployable. In fact, it’s quite the opposite. Having full control over your life teaches you how you want to live. Remember this whilst your looking for a job. It is possible to find a company where you can do great work whilst maintaining the freedoms you enjoy.
The past five years have been a rollercoaster of amazing highs and crushing lows. Running your own business is immensely rewarding, but at the same time incredibly stressful.
Over the past few months I’ve been reviewing a lot of aspects of my life. I’ve been so caught up in the day-to-day tasks of running two companies that I’ve taken my eye of the things that really matter to me most. It’s time for a change of pace.
I’ve always enjoyed my work. I love working with clients to produce things that help to propel their businesses forward. I feel incredibly lucky to have a skillset that can help to make other people’s dreams come true. There’s an immense amount of responsibility that comes along with that power. A responsibility to always do my best work. To exceed the expectations of those I’m working for. To always do the right thing, no matter how difficult it might be.
Ever since I left school I’ve always had this belief that in order to change the world you need to be the person at the front. The one leading the way into the unknown. That’s not a belief that I hold anymore.
You don’t have to be the CEO to change people’s lives. You only need the drive to do great work. To care about the things you make. To care about the people that use them.
I started at an agency called No Divide a few weeks ago and I’m absolutely loving working with the team there. It’s exactly the sort of company I wanted to work for and I feel like I’m finally starting to claw back some work/life balance.
I am, and always will be, an entreprenuer at heart. It’s just time for me to take a new adventure.
An old friend of mine (@ShelleyBear92) wrote an interesting post on her blog yesterday about some of the things she would tell her teenage self. I thought I’d follow her lead and give it a go too.
Have Audacious Goals
Big, far-out, seemingly unachievable goals. Aim so high that those around you think you’re nuts, then go and prove them wrong.
Your goals will likely change as you grow older. But don’t let that stop you from dreaming.
Don’t be afraid to go for an interesting opportunity, even if it doesn’t immediately seem like it’s going to help you achieve your goals. You never know where it might take you.
You cannot connect the dots going forward, only looking back.
Break Away From the Status Quo
The current education system leaves little room for anyone that doesn’t wish to follow the status quo. High schools are set up to move you on to university, and universities spit you out into industry. If you’re not brave enough to step off the treadmill you might wake up one day and realise you’re leading a life you had no intention of living.
Don’t be afraid to break out and go your own way. Parents will protest, teachers will give up on you, and your friends may think you’re slightly crazy. But none of that matters. What matters it what you think. You’re old enough to make decisions for yourself. Have the courage to go your own way.
Work Hard, Really Hard
Isn’t it funny how people that work hard also seem to be lucky. It’s not a coincidence. Luck can be manufactured. All you have to do is work really hard.
That’s all I have to say on this, I’ll let Gary Vaynerchuk finish up:
Take some comfort in knowing that the cool kids that are bullying you and making jokes right now will be the same people serving you in the grocery store in few years time. Their defalted facial expressions recognition of a decade of poor decisions.
Let them enjoy their few years of being the big fish in a small pond, few of them can cope when they’re released into the ocean.
Education Doesn’t End Once You Leave School
Learning is a life-long pursuit. It doesn’t end when you leave high-school or graduate from university. Keep pursuing the topics that interest you.
You may even find that some of the subjects you hated in school actually turn out to be topics you’re really passionate about later in life. It’s amazing how your perspectives can change once you’re afforded the freedom to learn in your own way.
Final Thoughts
Being a teenager isn’t easy. You’re trying to find your way in the world whilst the whole time being bombarded by people telling you how you should live your life. Listen intently to what they have to say, but then make your own decisions.
It’s easy to fall into a routine of doing the same thing day in, day out without being conscious of making progress either personally or professionally.
I combat this by having a list of tasks that I aim to do every day, my dailies. Some of these tasks I have to do, some are reminders to focus, and others are there to help me form habits. Here’s my list:
I first got the idea for dailies from watching a talk Jack Dorsey gave at startup school. Jack stores his list in the Notes app on his iPhone. It doesn’t matter where you put your list, as long as it’s somewhere you’ll see it everyday.
I use the Reminders app on my iPhone to prompt me to certain tasks throughout the day. This is especially useful for items like Be present, which is more about focussing the mind than accomplishing a tangible task.
My list has evolved over time, adding and removing items as habits form and I find new ones I want to develop.
If you ever feel like you’re just treading water in life, then maybe writing a list of dailies will help you to progress as it has me.
We live in a world where you can go online and watch a talk from pretty much any prominent individual from the past two decades. That’s pretty amazing, but I still find magic in the written word.
In this post I wanted to share some of the books I’ve read over the years that have helped me develop in business. I’m not including biographies here, that’s a whole other post.
In no particular order, here goes.
Onward
Onward by Howard Schultz, ceo of Starbucks Coffee Company, is one of the few books I’ve read more than once. It’s about how Starbucks navigated the stormy waters of the economic downturn in 2008 by recognising that their problems could not be blamed on what was happening in the markets. Instead, they were the result of many years of complacency and a focus on increasing shareholder value.
This is the best book on leadership, focus, and corporate strategy I’ve ever read.
The Innovator’s Dilemma
The Innovator’s Dilemma by Clayton Christensen is a modern day classic. The book explores the theory behind sustaining vs disruptive innovation. How small companies can outmanoeuvre their larger competitors, and how large corporations are often unable to achieve true innovation.
Delivering Happiness
Delivering Happiness by Tony Hsieh is a great story of how Zappos”“and the legendary Zappos culture”“came to be. This book is a manifesto for how to bring happiness into the lives of your customers and employees. Business is only boring if you let it be.
Rework
Rework by Jason Fried & David Heinemeier Hansson talks about an alternative strategy for running a business. The founders of the popular project management tool Basecamp, challenge many of the accepted business norms like working long hours and growing as fast as possible. This refreshing outlook is sure to give comfort to many entrepreneurs who just want to run a small, sustainable business.
If you’re going to read any of the books on this list, make it this one.
A Book About Innocent
I stumbled across A Book About Innocent when I was researching the Innocent brand for a project I was working on. The book explores the story of how Innocent drinks came to exist and what the company does to make it’s employees and customers happy. This is the second best non-BS business book I’ve ever read (second only to Rework).
Pick up the physical copy of this one if you can. The illustrations really come to life on the beautifully thick paper stock.
With all the different client-side storage options available today, it’s easy to get confused about which one is best suited for your project. In this post I’m going to take you through the most popular client-side storage technologies; highlighting their usage, benefits, and drawbacks.
Let’s get started.
Cookies
Cookies are small text files stored in the user’s browser. Each cookie consists of a simple key/value pair which gets sent to your server with every HTTP request.
There’s two main types of cookies. Cookies that only exist for the lifetime of the user’s session, and permanent cookies that exist for a set amount time. Once expired these permanent cookies get deleted by the browser.
It’s also possible to use a special type of secure cookie that is only sent to the server if a secure connection is present. For example, when a website is served over HTTPS.
// Create a cookie (on the client-side).
document.cookie = "name=Matt West";
The main advantage to using cookies is that they’re well supported by browsers. Cookies have been around a long time, and therefore it’s unlikely that your application would encounter a browser which doesn’t support cookies. Keep in mind however, that the user can explicitly disable support for cookies in their browser.
A drawback of using cookies is that you’re limited to storing a small amount of text data (around 4K per cookie). This is something to bear in mind if you’re building an application that handles a lot of client-side storage.
Another drawback is that cookies are sent along with every request made to the server. This means that the more cookies you have, the longer it will take for a request to complete, as the browser has to send all this extra data to your application.
Cookies are best used for storing small amounts of data like tracking IDs for analytics software, or authentication tokens to monitor whether a user is logged into your application.
localStorage and sessionStorage
The localStorage and sessionStorage APIs are similar to cookies in that they allow you to store simple key/value pairs on the client. However, they conquer many of limitations that developers experience when using cookies.
As with cookies, you have the ability to control whether the data should be stored permanently, or only for the user’s current session. Any data stored using the localStorage API will remain on the client until deleted, whereas data stored using sessionStorage is cleared out at the end of the user’s session.
// Add data to localstorage.
localStorage.setItem('name' 'Matt West');
// Retrieve data from localStorage.
var name = localStorage.getItem('name');
Data stored in localStorage is not sent to the server as part of the request payload. It’s the developer’s responsibility to transfer data to the server through query parameters or POST data. This means that using localStorage rather than cookies can help to reduce request times, and therefore increase the overall performance of your application.
Using localStorage also gives you access to more storage capacity. The exact amount of storage varies between browsers, but you can generally assume you’ll have access to at least 2.5MB.
As with cookies, you’re limited to storing text data when using localStorage. Of course you can get clever and start converting objects and arrays to JSON strings and then store that. However, you will better off using IndexedDB if you need to store structured data sets. (more on IndexedDB in a moment)
The added freedoms given to localStorage and sessionStorage make them a great alternative to using cookies. While some older versions of IE (7 and below) don’t support these APIs, most browsers do.
If you just want to store simple key/value pairs, localStorage is the best option available right now. It’s great for storing things like names and emails from contact forms. Allowing you to pre-fill those fields if the user views the form again.
IndexedDB is the power-house of client-side storage. It allows you to store structured data and then perform queries against those datasets.
This added functionality comes at a price however. The IndexedDB API is complex and can be daunting to those just starting out.
Browser support for IndexedDB isn’t quite as good as that for localStorage. Safari only just added support in version 8 (which is currently only available with the Yosemite beta), and Internet Explorer has limited support for the API.
IndexedDB is the way to go if you’re building an application that needs to store structured data. Just be aware of the steep learning curve when you’re getting started.
Before we end, I want to run through another option you have when working with client-side storage.
The wonderful folks at Mozilla have developed localForage, a handy little library that aims to take the pain out of client-side storage.
The localForage API has the simplicity of localStorage but gives you access to all the benefits of a complex API like IndexedDB. Behind-the-scenes, localForage checks to see which storage technologies are supported by the user’s browser, and then chooses the one that offers the best functionality.
// Storing data.
localForage.setItem('name', 'Matt West');
// Retrieving data.
var name = localForage.getItem('name');
The API mirrors that of the localStorage API with regards to its methods and properties. The key exception being that you can store complex data types like arrays and objects (hurray!). Of course you’re still bound by the same limitations on storage capacity that are imposed on the underlying storage technology.
In this post we’ve looked at some of the different client-side storage technologies that are available to you when building web applications. You should now have a better idea of the benefits and drawbacks of each, and when to use on over another.
If you’re still unsure about which technology is best suited to your project, post a comment below with some details about what you’re working on. I’ll jump in and help out the best I can.
A cool (and somewhat unknown) browser feature is protocol handlers. These give you the ability to register your web application as a handler for protocols like mailto or webcal. Then whenever a user clicks a link with the specified protocol, they’re sent off to your app to complete some action.
Of course you can’t just override the user’s current preferences. They first have to tell the browser they want your application to handle certain protocols.
Once you’ve registered a protocol handler, an icon will appear in the address bar when the user visits your app.
User permissions dialog for protocol handlers.
Clicking this icon shows an option to set your application as the default handler for the specified protocol. Once the user clicks allow, you’re all good to go.
Registering a Protocol Handler for Your Web App
So how does this all work?
To register a protocol handler you need to use the navigator.registerProtocolHandler method. This method isn’t supported in all browsers yet so you’ll want to do a quick check to see if it’s available first.
if ('registerProtocolHandler' in navigator) {
// Yay! The user has a decent browser.
} else {
// Seriously, quit using IE already.
}
The registerProtocolHandler method takes three arguments:
protocol – The protocol that you want to handle (for example mailto, tel, or webcal)
url – A URL within your application that can handle the specified protocol.
When a user clicks a link with the specified protocol, the contents of the links href attribute gets passed to your application through a URL. You can specify where in the URL you want this data to feature using the %s placeholder.
For example, the Gmail web app registers a handler for the mailto protocol. Once activated, whenever a user clicks a mailto link they get sent to the compose window. Gmail then uses the email address from the href attribute to pre-fill the To field in the compose window.
Here’s an example of how you could create the same behaviour:
An important caveat to note is that the browser sends the entire contents of the href attribute to your app. This includes the protocol, so you’ll need to clear out that out before doing anything with the data.
You need to register your protocol handler from the same domain as the one specified in the URL argument.
You can only send text, as the data gets transferred via a URL.
The communication between the sender and your application is one-way. This means you can’t pass a message back to the sender to notify them you’ve taken a certain action.
Creating Your Own Protocols
Handling mailto links is useful, but you also have the ability to create your own custom protocols too.
You can define pretty much any name for your protocol you’d like as long as it starts with web+. This helps to differentiate custom protocols from standardized ones.
Let’s take a look at an example of a custom protocol.
On your travels around the internets you may have encountered these ‘tweet me!’ callouts designed to make it easier for people to share key points from blog posts. You could use protocol handlers to do something cool here.
Having this custom protocol makes it super easy for a website owner to create special tweet links. I don’t know about you, but I can never remember the twitter share URL without having to look it up.
<a href="web+tweet:You should definitely tweet about this post">Share the love</a>
Of course this approach is flawed. For it to work, every twitter user would need to allow the twitter website to handle the web+tweet protocol. This just isn’t realistic.
Custom protocols have a purpose within some applications, but don’t expect others to adopt your protocol. The web is an open ecosystem with a wide array of recognized standards. Stick to them whenever possible.
Browser Support for registerProtocolHandler
Protocol handlers aren’t exactly new. The registerProtocolHandler method has been around since Firefox 3 (circa 2008!). Internet Explorer and Safari are the only two holdouts.
IE – Not Supported
Firefox – 3+
Chrome – 13+
Safari – Not Supported
Opera – 11.6+
Summary
Now you know how to register protocols handlers for your web application. Useful stuff if you ever find yourself building a web-based email client or calendar.
Be careful with those custom protocols though, there’s times when they can come in handy, but don’t reinvent the wheel. Use standardized protocols whenever possible.
Let’s start with a bit of context. About a year ago I started work on a little web application that could surface the best links shared by the people I follow on twitter. Last February I released that application into the world as Kojitsu.
I’m fascinated with the potential to tap the social graph and create a new type of social recommendation engine. Kojitsu started out as just an experiment to explore that fascination.
After operating Kojitsu for about six months I decided to shut it down at the beginning of July. In this post I want to share with you some of the reasons why I came to that decision, and the lessons I’ve learnt from building the product.
What Kojitsu did well
Before we dive into what went wrong, let’s take a look at what Kojitsu did well.
The number one thing that would come up time and again in chats with users was how much they liked the simplicity of the interface. I’m a big believer in the power of simplicity and worked hard to make the app as intuitive as possible so this meant a lot. As any maker will know, having someone pick out a certain aspect of a product you worked hard on brings a great sense of accomplishment.
Of course any content discovery product is only as good as the recommendations it generates. I feel that Kojitsu did a good job of hitting the mark here, and users seemed to agree. Don’t get me wrong, the ranking algorithms were far from perfect. But they were consistently surfacing interesting content.
Why Kojitsu had to die
When I shut down Kojitsu on July 11th the service had 218 registered users. The majority of these signed up when Kojitsu hit the top of Product Hunt back in April.
For a lot of people that’s a small number, but it doesn’t feel small for me. I come from a B2B world where I know the name of every single one of my customers.
When you’re focussed on statistics, it’s easy to forget about the people behind the numbers.
I genuinely care about every single one of those 218 people. They took the time to try something I built. Many of them offered me feedback. Shared Kojitsu with their friends. There’s no greater satisfaction for a maker than seeing people enjoy something you’ve built.
So where’s the problem? Having users is great but you don’t have a business unless you have a way of making money. I was bootstrapping Kojitsu with the money I was earning as a freelance writer. To begin with I was okay with that (after all I had built this to “scratch my own itch”) but as Kojitsu grew, so did the cost of running the service. When the money from my writing gigs dried up I had a tough decision to make. I needed to monetize fast, or shut down the product.
There’s a perception in the startup scene that if you build something, people will flock from afar to use your product. Then when the time is right, you can turn on the money spigot and start generating ad revenue off all those eyeballs. That business model may have worked for a handful of companies, but it’s rare.
With Kojitsu I tried a whole bunch of different ways to ‘turn on the money spigot’. I spoke to users about charging for the service, explored sponsorship deals, advertising opportunities. At one point I reached out to social media agencies to see if turning Kojitsu into a B2B service might work. I thought they might want Kojitsu as a tool for finding content to share through their clients’ social media accounts. They didn’t.
Nothing worked. There was no business model. There was no business.
So that’s why I shut down Kojitsu. It had reached the point where Kojitsu needed to grow up and become a business to survive. Without a viable business model, that just wasn’t possible.
Lessons Learned
The whole experience with Kojitsu has taught me a lot. Far too much to note down in one blog post, but I want to share with you some of the biggest lessons I’ve learnt.
Charge for your product
I’m done with this perception that stuff on the internet has to be free. Free is not going to pay your rent.
Build something awesome and charge people for it. There’s no greater validation for an idea than having someone hand over their hard earned cash.
It seems crazy I even have to write about this, but a lot of people are falling into this trap (hey, I did!).
Tell anyone outside the tech industry that you’re going to give away your product for free and they’ll laugh in your face.
Free is not a business. Free is a hobby. Charge for your product.
Don’t be afraid to cannibalize features
In the early days, one of the top feature requests was the ability to get recommendations delivered as a daily email. Kojitsu started out as web-based application so people would need to log in to view their recommendations. Building habits like that is hard, so a daily email sounded like a great idea.
I completely underestimated just how much of an impact this would have on the core product. Overnight almost everyone stopped using the web interface and switched to the daily emails.
I had cannibalized the web interface that I’d worked so hard on by launching the emails. That can be a little daunting, but the emails delivered a better experience so it was the right thing to do.
I’ve seen people work on something for days just to justify a few hours they spent in the beginning. If something’s not working out, cut your loses and a move on. You might incur a little short-term pain, but you’re securing the long-term health of the product.
Humans are awesome
Out of all the experiences I had whilst building Kojitsu, the points that stand out most are the chats I had with users.
Feedback is crucial to a young product. The Kojitsu community gave me some of the best damn feedback I’ve ever received.
It means a lot that people are willing to take the time to share their two cents. I hope I have the chance to repay the favor many times over.
Why don’t you just open source it dude?
After I announced that Kojitsu was shutting down a lot of people asked if I would open source the codebase. I decided not to. Not because I’m possessive over the code, but because I don’t have the time to maintain it.
I don’t want to just throw some code over a wall, then turn my back and head off into the sunset. Open source projects are only successful if they have a healthy community around them. Open sourcing the codebase so that it can rot out in the open wouldn’t be the right thing to do. Sometimes it’s better to just let things die.
What’s next
Shutting down a product sucks. I feel like I’m letting people down, and I hate that. But everything comes to an end at some point.
As for what’s next, I’m already deep into development on a new product (one with a real business model!). More on that to come soon.
My time with Kojitsu has taught me a lot. I hope that some of the experiences I’ve shared in this post will help you in your own endeavours.
Every now and then I read, hear, or watch something that resonates with me so much I just want to share it with the world. Today that moment came after watching Enrique Peñalosa’s TED talk on urban planning and public transport.
Urban planning isn’t one of those sexy design niches that gets talked about all that much (yes, urban planning is design). Talking about grey asphalt and concrete buildings just doesn’t illicit the same intrigue within most people as the smooth anodised aluminium finishes on the latest Apple products. I’ve always been fascinated with cities though. I grew up in the countryside, so visiting a city was always a bit of a culture shock. It’s a completely different world.
I’m fascinated with the layout of cities. The way that roads form a maze between the tall buildings. How the placement of shopping malls, markets, and green spaces can totally change the character of an urban environment. But the thing that hits me most when I visit a city is the divide between rich and poor.
Cities are places of extremes. They are the centres of extraordinary wealth, but also crippling poverty. Cities are where our democratically-elected governments call home. Why is it then that their design often seems far from democratic?
In his talk Enrique Peñalosa speaks of his time as the mayor of Bogota, Colombia. Becoming the mayor of a rapidly expanding city cannot be an easy job. These cities face many problems; crime, poverty, vast informal settlements that come to define the landscape of the environment. Many of us in such a situation of leadership would feel so overwhelmed by the task-at-hand we would be powerless but to prod at the issues with short-term solutions.
Enrique Peñalosa however, recognised that this rapidly growing city had the opportunity to reinvent itself. An opportunity to become a more democratic city. A city that restored dignity to its poorest citizens. A city that empowered it’s citizens to dream.
Enrique Peñalosa spearheaded initiatives like [TransMilenio], a networked bus system comprising of over 130 stations that enables citizens to move around the city quickly and safely. The buses have their own dedicated lanes so as to avoid the busy city traffic. No doubt a controversial decision amongst motorists, but one that Enrique Peñalosa defends as restoring a basic human right set out in the constitution.
The first article in every constitution states that all citizens are equal before the law. That is not just poetry. It’s a very powerful principle. For example, if that is true, a bus with 80 passengers has a right to 80 times more road space than a car with one.
– Enrique Peñalosa
The automobile revolution redefined our cities. It reinforced the divide between rich and poor; opportunity and poverty. Now it’s the bus lanes, cycle ways, and pavements that are restoring equality.
An advanced city is not one where even the poor use cars, but rather one where even the rich use public transport.
– Enrique Peñalosa
So take 15 minutes out of your day and watch Enrique Peñalosa’s TED talk. It might just change the way you look at cities.
The cities we are going to build over the next 50 years will determine quality of life and even happiness for billions of people towards the future. What a fantastic opportunity for leaders and many young leaders to come, especially in the developing countries. They can create a much happier life for billions towards the future. I am sure, I am optimistic, that they will make cities better than our most ambitious dreams.
Writing gets talked about these days as one of the most important skills a person can have, and I generally agree. Writing teaches you to think deeply. To care about the work you produce. To consider how others will read your words.
Being a good writer isn’t a trait you’re born with. Writing is a skill, and like all skills it’s learnt over time. You become a better writer by writing.
Writing isn’t easy. For a lot of people writing is a chore. Something that gets avoided at all costs. I know that was the case for me.
Schools will tell you that they teach students to write. But they only focus on the what and the how. So many neglect to cover the why.
Now I’m not romantic about writing. I’m not offended if you use an apostrophe in the wrong place, or get “their” and “there” mixed up. What I care about is why you write.
The why creates an emotional connection, it ignites passion, inspires the work. The why gives a purpose to what you do.
For me writing is about sharing ideas and spreading knowledge. It’s about giving back to the community that’s supported me, and saying the things I need to say. I don’t write because I enjoy the act of writing. I write because it’s a means to a result.
My day revolves around what’s on my to-do list. It helps to keep me productive. But to-do lists have a problem. They get bloated. You end up with all sorts of stuff on there that isn’t that important.
It’s important to edit your to-do lists.
Remove the things that aren’t important.
Focus on the things that are.
You won’t have a long list of completed to-do items at the end of the day, and that’s fine. Don’t judge yourself by the amount of ‘stuff’ you get done today, but by the quality of the work you decide is most important.