Road Trip - Day 13

8:30 am. Best sleep I’ve had in more than two weeks! I go downstairs for breakfast but it looks like needs to be ordered and it’s gonna take more time than I want to spend so I just fill up the thermos with hot water and go back to my room to pack. I check out. It’s the same pregnant clerk as yesterday evening. She should definitely take a leave from work. I get back in the car. It’s raining a bit. I get back on the highway.

The road isn’t interesting, or maybe it’s just that I really can’t wait to be home. It’s always the last stretch that seems endless. It’s about lunch time when I enter the GTA. Not the video game. The Greater Toronto Area. I take an express lane, which has fewer cars because it’s separated from the other lanes that are connected to the exits/entrances. I quickly realize that that may have been a mistake. The car is running on fumes, and I need to get off the highway soon. Luckily, I manage to escape the express lane, and then the highway, to stop at a gas station. As I refuel, there’s a homeless person walking their cart full of stuff near the gas station. Suddenly the clerk gets out of the store and tells the man “You can’t smoke here!” The homeless man mumbles and keeps moving his cart, then goes behind the store to bring a second one. I’m a bit worried because he doesn’t seem to worry or realize his cigarette is dangerous here. Luckily I’m done filling up the tank, and I take off in a hurry, back on the highway.

Still in the GTA, I hope to see the CN Tower from afar. Every couple of minutes I look right in the hopes of seeing it. I start to think I missed it when suddenly there it is! Sweet! It disappeared as quickly as it appeared, though. I’m a bit disappointed. No lunch, I want to be home so I continue having some snacks. Good thing I bought a lot before I left Montreal! Back in the middle of the flat forest, not much to see. It’s Ontario, flat with trees. It starts to rain. This has been kind of a theme this whole trip. While I’m disappointed, at least it’s not snowing and it isn’t too cold. I make a stop in a rest area. People don’t seem to worry too much about social distancing. They should. The whole virus story has moved so fast, maybe they need more time to adjust. There’s no time to need more time though.

I’m bored, so I call a friend to catch up. We talk a bit, then hang up. I listen to some music, then suddenly I’m at the same interchange where, not even three weeks ago, I turned off the highway to go through Thousand Islands. I’m now back in the middle of the leafless trees again.

I’m finally near the border between Ontario and Quebec when I see a field on the left, covered with seagulls. “So that’s where the seagulls hangout all winter,” I think to myself. I know it’s not true, they probably go further south, but I have fun thinking that seagulls could migrate just two hours from Montreal, on a boring field along the border with Ontario.

I arrive on Montreal island, there are fewer cars than when I left. I call another friend to catch up, and, as I pass the airport, I really notice this time how few cars are on the road compared to usual. It’s 5:30 pm, rush hour. I should be almost at a stand still, and while there are cars all around me, we’re all driving above the 70 km/h speed limit. I finally leave the highway. Just a few hundred metres and I’m home. Now it’s shocking how empty the city is. There’s no one in the streets, and barely any cars. The weather is the same as when I left. It almost feels like I haven’t been gone at all.

5:52 pm. I’ve just parked and turned off the engine. 41,684km on the counter. It was at 31,563 km when I turned on the engine at the beginning of this trip. Now, because I come back from another country, I’m supposed to self-isolate for 14 days. I’m not allowed to go out and I have to limit my movement even within the condo building. I grab my luggage, backpacks, and as many things as I can from the car. But I’ll probably have to make one or two more trips to completely empty it. I look around in the parking garage to see if anybody’s there. I should avoid staying near anyone. Nobody’s around. I get in the elevator. Nobody. I reach my apartment door, open it, get in and drop everything. My legs are shaking. I’m relieved to be home.

Road Trip - Day 12

I wake up at 6:20 am. I didn’t have enough sleep. That’s been one constant during this trip. I sleep well but not enough. I catch up with the news, work, emails, then go for breakfast. The news is on the TV. The virus situation is escalating everywhere. I can’t wait to be back home.

I get back on the highway. The road is boring, the sky is grey, still flat landscape. I listen to more podcasts, more music. After a few hours of driving, I make a stop to take a break. Coincidentally, it’s time for our weekly product call at work, so I join in. I’m standing in a small vending machine room on a rest area along Highway 80 in the middle of Iowa. It’s good to see and hear my teammates. The call ends after 15 minutes, as usual. It gave me a much-needed boost to keep going.

It’s time for lunch, and like yesterday I’m prepared to eat in another fast-food restaurant. I get out of the highway to enter a commercial zone with various stores and chain restaurants. I notice there’s a restaurant called Olive Garden, sounds healthy. I see the sign says ‘Italian Restaurant’ as I drive by. I don’t feel like having that kind of food now. Pass. There’s a Chipotle on the other side of the road. This is more like what I want. As I turn around, I notice a Walmart. I still haven’t solved this debit card issue, let’s make another try there. I stop, get in the store, head to the customer service. I ask the girl and she tells me they can’t refund in store, showing me it’s actually written on the package. I guess I’ll have to call. Alright, let’s go to Chipotle. Compared to the past few days, people seem to be more cautious about hygiene. Looks like the virus anxiety is coming here. I have the same as last time, a burrito bowl. It’s a big serving. I guess I won’t need dinner again.

Back on the road. There’s been a lot of trucks so far, which makes me realize that yesterday there weren’t many between Denver and Lincoln. The traffic is getting denser as I approach the south of Chicago and Lake Michigan. More trucks and a lot of crazy drivers going fast all around me. It’s a bit scary. I stay in my lane and follow a car to stay in the flow. I’m fine.

After 30 minutes of more traffic than I’ve seen in days, it gets back to ‘normal’ and I now follow the directions toward Detroit. I’m in Michigan. It looks a lot like Ontario, flat and forest all around, with Quebec-like roads full of cracks and potholes. I also realize I saw a lot of small dead animals on the side of the road today. It’s sad.

I arrive at the Canadian border in Sarnia. It’s about 8pm. There are several trucks, but very few cars. I’m relieved to be here, but a bit anxious about the questions the agent will ask, especially about the virus.

“Where do you live?”
“Montreal.”
“Where did you go?”
“Los Angeles, I kinda came back in a hurry.”
“How long were you outside of Canada?”
“About two weeks.”
“Ok,” the lady says as she hands me back my passport with a sheet of paper in it. She’s wearing gloves.
“Do you know a good hotel where I can sleep tonight?” I ask her.
“There’s a brand new Holiday Inn, just on the right.”
“Thank you, have a great evening.”

I glance at the sheet of paper as I move forward. It’s information about the virus. I reach the hotel, get in the lobby. It smells like new. As the clerk checks me in, we discuss about the virus situation. I move a step back as we talk about social distancing, and weirdly, none of us seem to find it weird. She tells me she’s pregnant and she’s thinking about taking a leave from work soon. I hope she and the baby will be fine.

Tonight I splurged. The room is the best I’ve had the whole trip, but I feel like I needed a treat. This trip back has been stressful and exhausting. There’s only 800 kilometres left before I’m home. Easy. I can sleep in tomorrow morning.

Road Trip - Day 11

5:30 am. I wake up tired. I get up. I don’t want to waste time. I need to get back home as quickly as possible. News about the virus is getting worse every day, and I’m afraid I might get caught into a lockdown somewhere in the US. I have a quick breakfast, talking with a staff member who’s probably in his 60s. He seems a bit clueless about the virus. I hope he won’t catch it. I leave the motel. The room was nice. Too bad I didn’t get to enjoy it longer - feels like a waste.

It’s pretty cool when you arrive in an unknown place at night and discover how beautiful it is the next morning. Grand Junction is in the middle of a large valley with mountains all around. The view from the highway is amazing. As we leave the valley, the highway follows the winding Colorado river within a narrow canyon. It’s stunning! I can’t believe I’m driving alongside the same river that goes through the Grand Canyon and the Hoover Dam.

At some point the canyon morphs into a large valley in the mountains sprinkled with snow. After going through various similar valleys, the road continues along the Colorado river deeper into another canyon within the Rocky Mountains. At some point I notice that there’s some kind of bike path that follows the highway. I don’t know where it started, but it’s going on for kilometres. Must be cool to ride it on a bike. The canyon splits in two, and this is where the highway stops following the Colorado River.

Still in the canyon surrounded by mountains, I notice that there are more and more cars on the highway. I quickly realize that I’m in the middle of various ski resorts and these cars are probably people heading back home. The highway keeps going downhill through the canyon for a while, then the canyon opens up into flatland, with Denver down on the edge of the mountains. I’m changing from Highway 70 to Highway 76, and can see the high-rises of downtown Denver in the far right.

Denver is now in the rear-view mirror. It’s all flat ahead. I didn’t expect to be in flatland this soon. I thought Denver was in the middle of a valley in the mountains, I didn’t think it was this close to the prairies. I’m surrounded by fields as far as the eye can see. There are Angus cows around. They have lots of room but not a lot of green grass. It’s actually surprising to see them stay next to the highway when they could be far away. Do they want to stay around humans?

I’m hungry and there aren’t many healthy options along the road unfortunately.  I resign myself to stopping at a fast food restaurant, a Taco Bell. As I get out of the car, there’s a strong ‘farm’ smell. Yup! I’m in the country. I have couple of soft tacos. There are flies orbiting my meal. I’m definitely in the country. I get back on the road. The land is flat, the sky is grey, there are patches of snow on the fields around, and then there’s the occasional skunk smell.

I was tired this morning even though I had had coffee, but this afternoon I feel good. I make a few stops to put some gas in the tank. It’s getting colder as I go further east. I finally reach a stretch of road I was looking forward to experiencing: a 150 kilometre long straight line of highway, just before Lincoln, Nebraska. I’m surprised to see ducks migrating from north to south. It should be the other way around at this time of year. Did they go too far north too early? I see the birds flying over me for more than 10 minutes. Then 15 minutes later, more ducks flying over. It’s interesting how even on a supposedly boring stretch of road, there’s still something to discover.

When I finally arrive in Omaha, it’s dark. It was a long drive. I find a hotel that’s not as close to the highway as the past ones and the room is quiet. No dinner tonight, same as usual. I need to rest and sleep because tomorrow will be another long day on the road, and I want to be in Canada tomorrow night.

Road Trip - Day 10

I wake up. It’s 6:00 am. I do a bit of research about how much I can drive today. I wanna drive through to Monument Valley. Ideally, I’d like to reach Grand Junction, Colorado. It’s a long drive, over 1200 km, but I guess I can do it. A few months ago I drove about 1500 km in one day.

I go get breakfast. There’s a TV showing more news about the spread of the virus. A man comes in wearing a mask. He gets a coffee and some eggs, then sits at a table. He seems to be saying a prayer, then pulls down his mask and eats in silence, head down. After two minutes, he puts his mask back on then leaves. He didn’t even finish what little he had on his plate. He seemed very down.

I talk with an employee of the hotel as I’m eating my breakfast. He tells me he’s supposed to go on his honeymoon in two months but thinks he’ll probably have to cancel because of the virus. He seemed bummed about that, but remained in good spirits.

I get back on the road heading to Flagstaff, the same road I drove just five days ago. It looked better this time, thanks to a nicer weather. I don’t stop to take pictures. I don’t have time for that. I want to save it for Monument Valley. I make a stop in Flagstaff around lunch time, but I don’t want to waste time eating at a restaurant, so I stop by Whole Foods, get a bag of chips, sushi, and a gallon of water. I like to keep bottled water in the car, just in case. I refill the tank, then head towards Monument Valley, eating the sushi as I drive.

There are more cars on the road than I was expecting. I stop at some point to check some messages with friends, and also let all the cars following me go. It’s more enjoyable to drive through the desert alone, rather than in a train of cars. I get back on the road and as I approach Monument Valley the sky is getting darker. “Don’t tell me it’s gonna rain here too!” I think. The clock moves forward by one hour. I’m now on Mountain Time.

I’m finally in Monument Valley! It’s magnificent. I stop a few times to take photos. The sky looks like it’s going to rain soon. So I keep going. I cross a few cars of other tourists like me. Some are stopped, taking photos.

At some point there’s an Native American-looking hitchhiker on the side. Because it looks like it’s gonna rain soon, I have room in the car, and hitchickers usually have some good stories to tell, I stop. I ask him where he’s going. It’s on my way so he embarks with his almost-empty duffel bag. He was born in the area and is still living around. He’s in his 50s. I have a hard time understanding his accent, so I don’t quite get everything he says. As we go through Monument Valley, he tells me things about the area, like animals that can be dangerous on the road, this place that has uranium that’s now covered, and other things. I’m thinking it’s cool. At some point he tells me he has something for me, he opens his bag and takes out something made in leather with rings, it’s some kind of horse collar. I ask him if he made it. “Oh no! It’s very old,” he answers. It doesn’t look that old. He tells me he can give it to me for 10 dollars. Okay, he’s trying to scam me. Now I’m pretty sure this whole ride thing was just to sell me this. Was everything he told me about the area true? Now I have doubts. I tell him I don’t have cash with me, which is almost true, I only have $20 left, still haven’t sorted out that debit card thing. He puts it back in his bag and we continue the conversation, I smoothly ask him to let me know where he wants me to drop him since I think we are approaching his destination. I leave him at a gas station in Mexican Hat. The place he asked me to drop him was a bit suspicious, and he walked in a hurry towards a minivan. I go back on the road and the minivan goes the other way. Phew!

As I leave Mexican Hat, I notice a funny rock structure. I stop the car to take a photo. It looks like a sombrero! Ha! 💡

It starts to rain as I drive through more beautiful deserts and valleys. The road so far today has been magnificent. Probably the longest, most scenic stretch of road I have ever driven through.

Night sets in and I’m still in these valleys. I cross the city of Moab, which sits within a narrow canyon, and is surprisingly full of cars everywhere. It looks like a tourist destination. As I leave the city, I see signs for the Arches National Park. Okay, that makes sense now.

I finally leave the desert road and hop on Highway 70, heading East. The speed limit is 80 mph, the fastest I’ve seen so far. There aren’t many cars or trucks and the road seems nice, but like before, you can’t appreciate the scenery at night, unfortunately. Looks like we’re going to a higher altitude, but it’s more of a guess.

I arrive in Grand Junction. During one of the stops I made earlier, I noticed a motel of the same chain of the first one I booked near Buffalo. It was a good value, so I hope this one is too. And it is! Hardwood floor, spacious, and calm. It was a long day, I had needed two refills of coffee to keep up. Now I feel like I just got out of a boat, a little nauseous and exhausted. I need to sleep.

Road Trip - Day 9

Yes, the last episode was day 6. I spent day 7 and 8 in Los Angeles, they're not part of the road trip, so I didn't write about them.

The past couple of days have been weird. We canceled our company retreat and news about the virus has intensified. While people here are aware of the situation, they don’t seem to be worried much. I have been working in a community space with a nice young student vibe, and saw my friend daily. It’s been raining almost the whole time so far. That’s disappointing. The temperature is nice though, no need for a jacket. There aren’t a lot of people outside. I suppose it’s a combination of the bad weather and the spread of the virus. The LA vibe isn’t there, it’s weird.

My Airbnb reservation ends in two days, but I’ve decided to get back home before the situation with the virus gets worse. That sucks! I drove all the way to spend only three days in a rainy Los Angeles. It feels like a waste, but I’m glad to have spent time with my friend. It was long overdue!

6:45 pm, I have just dropped my friend at his place and said goodbye. “Alright,” I tell myself, not yet ready for the upcoming drive back home.

There’s still daylight, no rain, but the sky is grey. I decide on another route to leave Los Angeles, taking the 405. It goes through a canyon that was on fire last year, but the bushes don’t seem burnt. It’s getting dark though, so maybe they are? At the end of the canyon, it’s the city again, with still a fair number of cars, but the pace is good. I haven’t been stuck in traffic in LA during this whole trip.

I need to pee. Badly. But it’s not a reason to drive like madman. I’m hungry too, so I just need to find a decent place to eat, and not too far from the freeway. There’s a Chipotle just a few minutes away. I’ve never been to a Chipotle before, let’s give it a try. I get in and head straight to the restroom. I then order a Burrito Bowl. It’s not bad. Now I’m ready for a few more hours of driving. The goal is to reach Barstow.

There are still a lot of cars as I leave the Los Angeles suburbs. Is everyone fleeing like me? They’re most probably going out of town for the weekend, I guess. The rain fades and I finally reach Barstow. I have decided that I will be look for better places to sleep on the way back than what I’ve been to so far. I need comfort to make up for the disappointment of this aborted trip. I quickly find a hotel that looks decent. As I check in, the clerk tells one of her co-workers that she went to two grocery stores to find toilet paper and both were already sold out. Okay, the jokes my teammates from work made about TP for the past two days aren’t jokes anymore. Still, it’s funny to think that people rush to get toilet paper first when a pandemic is declared. Anyway, the room in the hotel is good, I should sleep well.

Road Trip - Day 6

I wake up around 6:00 am. While it’s good to go slowly through the time zones, my body is still not well adjusted, but that’s okay, I’m an early riser. I slept well and didn’t hear the trains, maybe they stop at night? I don’t know. I call my mom to update her on my trip, then I catch up with work, and check the weather. My friend in Los Angeles told me over the weekend that it’s supposed to rain there. And, unfortunately, it is going to rain all week!

I was planning to go through the Mojave desert today, so I check the weather there: rain. Ok, let's check for Joshua Tree National Park. Rain. Damn! My Airbnb reservation in Los Angeles starts tomorrow, but visiting these parks in the rain probably won't be fun. I message my friend to see if he'd be available this evening... he is. Okay, good. I'm going to LA then, I'll find a motel for the night.

I pack my things in the car, go get some hot water for my thermos in the breakfast area, then get back on the road. I make a quick stop at a local coffee shop to get some fresh coffee to kickstart the drive. It’s raining. The rain turns to sleet as I leave Flagstaff. Kind of a bummer. I left the cold weather and snow in Montreal, just to find them back here... I kind of expected it though, it was almost the same when I drove by seven years ago.

The sleet fades to a stop and the pine trees morph into large bushes as the road goes down in altitude. I’m leaving the mountains and entering large valleys. The sky is grey and the cloud ceiling is low. I wanna takes some photos, so I get off the highway, there’s a dirt road that leads to nowhere except for two RVs, one of which looks abandoned. Someone is going inside the newer one as I slowly drive by. I feel like I’m intruding. I don’t think it’s a private property but I don’t to stay for too long. I park, get out of the car, take a photo, a video, then back in the car, back on the highway.

I should have lunch, but I don’t think there’s a healthy restaurant on the way to LA, so I guess I’ll stick with snacks: roasted chickpeas and granola bars. I need to have some coffee though. I park in a rest area, the sun and blue sky are starting to show themselves. I make my coffee with the Aeropress on a table, stretch and walk a bit, but I don’t go far; there’s a sign saying “Poisonous snakes and insects inhabit the area.” Alright, back to the car, back on the highway.

The landscape is more or less the same, going from a large valley to another one, always surrounded by not-so-high mountains in the distance. I call my best friend to catch up. We talk for a while, it’s nice to have some kind of company.

The rain starts to fall as I approach the San Bernardino Valley. All of a sudden, there are a lot more cars around. And they drive fast. Okay, I’ll stay in the flow. The rain falls harder as I approach Los Angeles, and people are driving really fast! Like they have an urge to pee. Massive downpour as the road goes down then up! And fast cars everywhere! This is dangerous. Fortunately the downpour lasted just a minute, and it looks like it cooled down the mad (wo)men. Phew!

I follow the signs for Los Angeles, and then finally! I see the downtown high-rises! I have goosebumps. I’m there! I’m in Los Angeles!

I take the Santa Monica freeway, which to my surprise isn’t jammed. There are cars, but we all go at a good pace. I don’t complain. I reach the motel much quicker than I anticipated, and funny thing, it’s right in front of the massive Mormon temple. The room is nice. I tell my friend I’ve arrived and we decide to meet for a drink later in Santa Monica. I follow up with emails and work, rest a bit. I look for a place to eat before meeting my friend. I’m starving!

I discover this vegan restaurant chain called Veggie Grill and there’s one on the way to Santa Monica. Perfect. I get there and it’s still raining. I have a Bulgogi “Beef” Protein bowl. It’s good. I get back in the car and head to The Bungalow, on Ocean Avenue. I love this place. It’s a house that has a bar inside, and each room has its own vibe. We get our drinks and I sit down on a leather couch next to a fireplace with a real, warm fire. It’s nice, the heat of the fire, and catching up with my friend. It feels good to be back in Los Angeles!

Road Trip - Day 5

I wake up to that disgusting cigarette smell, which motivates me to get the hell out of this place as quickly as possible. I take a shower, no breakfast, I pack, and get out of the room to check out. Through a window I see a large indoor room that kinda looks like it could be used for meetings, but it’s scattered with furniture, lots of junk. This motel is really going downhill. I get in the car after checking out, then search for a nice coffee shop on my phone. I could really use a comforting treat. I find one that’s on the other side of the city, on my way west.

I go back on the highway to cross the city to get to the coffee shop. There are hot air balloons in the sky northwest of the city. It’s pretty cool. I reach the coffee shop, called Prismatic Coffee. It’s in a neighbourhood of new condos, all the buildings around look recent. The place looks new too. I get an Americano and chat with the waitress. She tells me the hot air balloons are out every morning that the weather allows. The coffee is good, and it reconciles me with Albuquerque. I ask the waitress to put some hot water in my thermos so I can make some coffee with my Aeropress later and I take off, heading towards Flagstaff, Arizona.

So back on Highway 40. The scenery looks better, with mountains that start red at the bottom and are yellow on top. Again, it feels like a western movie. It then evolves a bit. On my right the mountains are dry and red; on my left they’re covered with bushes and greenery. Again, I see long trains on the side. Makes me think of my friend who came to hate trains after she’s worked on a contract that turned sour. I wind the clock back again as I enter Arizona – Pacific Time! There’s a tall, snow-topped mountain in the distance. I think this is where Flagstaff is. I’m almost in the city when I see the first sign for Los Angeles. I’m getting close!

I have lunch at Red Curry Vegan Kitchen. I have green curry with vegetable and rice. It’s good, spicy as I like it. After the McDonald’s incident, I’m happy that I have been able to avoid fast food restaurants, and managed eat well during the trip. It’s 1 pm, and I should get going to see the Grand Canyon now. It takes over an hour and a half to get there. I make a quick stop to fill up the tank as I leave the city.

The road to the Grand Canyon is nice. It starts in a pine forest that still has snow on the ground, but there’s none on the road fortunately! Then the road goes through a large open valley with tall yellow grass and snowy mountains on each side. Then it’s back through forest as I approach the Grand Canyon park. I haven’t had any coffee yet and I feel it. I still have hot water in the thermos, I just need to find a spot to make my brew. As I’m getting closer, there’s a sign on the side of the road that says there’s a wait time of two hours. What?! I’m thinking about bailing. I stop at the visitor center to ask about it and the lady says it’s much better now and it’s probably about 20 minutes. So I go. It ended up being pretty fast. Also luckily I was in the fastest lane at the toll booth. There are more tourists than the last time I was here, but it’s not too bad. Picnic tables are spread around the parking lot. I can finally make coffee! Relief!

The Grand Canyon is still grand! Huge! We’re tiny. I really want to come back during a warmer season and hike down. I take photos, chat with other tourists, and take the time to appreciate the view. The sun is starting to set and the light in the canyon starts to fade, so I get back in the car to drive back to Flagstaff. The road from Flagstaff to the Grand Canyon makes a kind of loop. So you can get there from one side and leave from the other. Which is what I intend to do. I arrived from the west and will leave from the east. I guess I should have done it the other way to see the sunset but I don’t want to go back on the same road.

As I go on the east part, I stop at several more spots that offer nice views of the canyon. It’s still huge. The road winds slowly down the mountain, it’s fun. I’m back in the city and the night has arrived. I need to find a place to stay for the night. I drive on Route 66 to check on the various motels. I don’t want to repeat last night’s experience! I find one that looks good so I stop and book it. The room has been renovated recently, it’s nice. And no cigarette smell!

Flagstaff is a major train hub and a lot of cargo trains cross the city. And historically the train tracks are along Route 66, or is it the other way around? And because the motel I stay in is on Route 66, I hear those nearby trains. They’re loud and I hope they won’t wake me up in the middle of the night. I don’t have dinner again as I’m not hungry. I get to bed around 10pm, today started not so well but ended up great!

Road Trip - Day 4

I wake up and it’s already 7:22! Right, we lost an hour last night with daylight savings. Okay, I have a lot of driving today! This is the day I’m the least excited about as I’ll be going through the most monotonous landscapes of this trip. I have the usual yogurt and oats and a shower that works this time, then check out and take off.

But first, I stop by a Walmart right in front of the motel. I want to see if I can return that debit card. Unfortunately they don’t refund them. I was expecting that. Not surprised. The lady says I can try calling the assistance number. I’ll do it later. And if this doesn’t work, I guess I’ll have to set it up. To be continued…

I refuel and go back on the highway. The landscape is flat and dull, the sky is grey, and there are still lots of trucks on the road. I’m bored already. I could use some company… I continue to listen to the podcast I’ve been catching up on. It’s more interesting than the drive so far today. I’m going through a couple of tolls, which are taking a toll (pun intended) on my cash reserves. I’ll have to figure out this debit card soon.

I enter the state of Oklahoma. It brings back memories from my last road trip here in 2013. The only thing I remembered of the state is the bright orange dirt. I make a stop in Oklahoma City to have lunch at The Loaded Bowl, a vegetarian restaurant not far from the highway. So far I’ve managed to find healthy restaurants while avoiding long detours. I try to find a parking space near the restaurant, but all spots are taken. I end up finding a small one and notice a flower pot at the end, so I get in backwards slowly and boom, I hit the pot! Damn! I go check it and there are plenty of scratches on the plastic bumper. I’m mad. I have a fancy luxury car, the base model that has plenty of nice things, but no rear-view camera or sensors! It should be standard!

Anyway, I go up to the restaurant. There’s a no-gun sign on the door that reminds me that weapons are legal in this state. I hate this; it makes me feel unsafe. One of the dumbest things in the US. I have a breakfast burrito at the restaurant, it’s good and satisfies me.

Back on the road again, I can’t wait to leave OKC and that flower pot. Thirty minutes outside of the city, it starts raining. Then it gets foggy, the visibility isn’t great and I don’t see very far on the flat country. The wind turbines’ motors are hidden in the low-ceiling fog. I can only see the blades as they go down, then they disappear into the fog as they go up. Funny! The fog dissipates and I finally see the red dirt. It’s not as bright as last time because of the grey sky. I’m bored again, and listen to more of the podcast until I finally catch up on the whole thing, no more episodes to listen to.

I enter Texas and remember that on my last road trip I stopped by the Midpoint Cafe, which is halfway on Route 66. Unfortunately when I stopped there 7 years ago it was closed during the winter season, and I suspect it will be this time again. And it is. Mom calls as I’m there, we talk a bit and I’m back on the road. The landscape starts to get less flat, less boring. I enter New Mexico and it’s raining again. And I’m bored again. I call my best friend as I keep driving. It’s nice to talk a bit and catch up, I feel less lonely. We hang up and I get a second wind. I make a quick stop to fill up the tank and decide I’ll reach Albuquerque tonight. It’s far, but it’s Mountain Time in New Mexico, so I wound the clock back again today.

The landscape is getting more interesting, with large desert valleys like we see in western movies. There’s a 100-car train rolling alongside the highway. It adds to the charm of the scenery. I wish I could take pictures, but you can’t just stop on the highway. The sky is getting darker as the sun is setting. However, as I enter a new, large valley, the horizon looks clear and there’s a beautiful sunset in the back. It’s like the end of the tunnel, the light that guides me west. The colours are gorgeous. First it looks like there’s a fire on the horizon, then the colours turn from orange/pink to yellow/blue, until the night sets in. Still a lot of trucks on the road. We’re all going fast.

The road goes downhill as I approach Albuquerque. Again, I bet the scenery is beautiful but can’t see anything in the dark. I finally arrive at a motel near the highway. My credit card is denied, twice. Mmmh… I try another one and it works. I hope that this credit card incident is a one-off. If it happens again tomorrow, I guess I’ll have to call the credit card company. I’m tired and don’t want to worry about it tonight. I get in the room. It’s spacious, noisy from the highway, and smells like cigarettes although they have a no smoking policy. I bet the motel is old enough that people were once allowed to smoke here and it still smells.

I brush my teeth. The sink gets clogged in no time. I’m too tired to go complain in the lobby. I wanna sleep, I’m tired. I turn the lights off, get into bed, then someone knocks hard on the door. What now?! I go look through the peephole, someone with their hat reversed is walking by, not really looking at the door. Maybe it was a mistake. I get back into thinking about that gun thing from earlier. Maybe that guy is a dealer? This cheap motel now makes me think it’s a shady place. I’m considering leaving and finding another place, but I refuse to worry about all this. I’m too tired, I need to sleep.

Road Trip - Day 3

I wake up, it’s 6:30am, I slept well. I do some stretches and push-ups, then go to the shower. I can’t figure out how to get the water to come out of the shower head! So I use the water as it comes out of the bath’s tap. Old school!

I have more of the yogurt and oats for breakfast. I make coffee, pack my things, check out and bring my stuff to the car, which is frosty. There’s a beautiful clear blue sky but it’s cold this morning. I remove the ice from the car’s windows and quickly get in to warm up.

I’m heading towards the Indianapolis Motor Speedway. I’ve watched the famous 500-mile race several times so I’m looking forward to seeing the track! As I get closer, I’m surprised that I can’t see the grandstands. With its banking, the circuit should stand tall, but I can’t see it even just a block away. When it’s finally in sight, I’m surprised that it isn’t that tall. I go through the tunnel under the track to get to the museum. There, I buy a ticket to get on a bus that drives around the track. I visit the museum as I wait for the bus to start boarding. There are a lot of cars that won the 500 miles, helmets of drivers who raced here, and the history of the track and races. They call for boarding the bus. I get in and we get started. It’s slow. We go on the track. The banking is definitely not steep at all! I’ve been to racetracks that have much steeper ones. The bus stops at the famous “Yard of Bricks” at the starting line so we can take photos. The tradition is that race winners kiss the bricks. I didn’t win a race here so I feel I haven’t earned the right to kiss the bricks.

Alright, it’s all fun, but I need to get going. Direction St. Louis, Missouri, to see the Gateway Arch. I make a stop on the way in Effingham, Illinois, to have lunch. I found this nice corner restaurant called Joe Sippers. It’s a nice cafe that serves vegetarian food. I have a wrap. Several families stop by. Looks like a popular place to be on a beautiful Saturday. I get back to the car, drink some of the coffee I made this morning, and go back on the road.

I arrive in St. Louis around 2:30pm. Seems early? That’s because I moved the clock backwards as I am now in the Central time zone. I park near the arch and walk to the monument. It’s taller than I expected. The clear blue sky is perfect for taking photos of it! Because it’s a nice Saturday afternoon, there is a fair amount of tourists, many teenagers on dates. I buy a ticket to go up to the top of the arch. The ascent is very interesting. Because it’s an arch, the lift can’t go straight up, obviously. They built trams on each side that go to the top. The trams are made of 8 capsules each. The capsules swing as they ascend, like a Ferris wheel. Genius! The capsules are tiny though, not recommended if you’re tall or claustrophobic. They can hold five people. The view from the top is not very exciting, maybe because it’s still winter and there’s a lack of green trees and grass, or maybe because the city just doesn’t look great. I was more interested by the arch’s architecture and the trams!

I leave the arch around 4:30 pm. Back to the car. I research how far I could go. Springfield seems reasonable so I book a motel there. As I leave St. Louis, I get stuck in a massive traffic jam on the highway, which ends up being the worst I have ever been in in my life. After an hour, I am finally back to a normal speed. There are a lot of trucks on the road. My mom would be horrified. She hates trucks taking over the country roads in France. Night falls. I’m still driving. It looks like we’re going through hills, and I wish it was day because I suspect the landscape is nice.

I finally arrive at the motel in Springfield. There are loud American muscle cars having fun on the road. I hope it won’t be like that all night. I get in the room. I’m exhausted. It’s 9:30pm, I haven’t had dinner and I don’t feel like going out to eat something. I’m not hungry anyway. I have some pita bread that I brought as snack, that’s good enough. I watch yesterday’s Lakers game against Milwaukee, the two best teams in the league, possibly a preview of the NBA finals. The Lakers win, I can sleep happy.

Road Trip - Day 2

I wake up to the lovely sound of geese. Are they migrating north? I check the time, 4:47am. Damn! That’s too early, and I already feel very much awake! It’s supposed to snow a bit later this morning, so let’s just get up and drive further to avoid it.

I shower, pack, checkout, and leave. I need to fill up the tank and luckily there are plenty of gas stations around. I fill up, then go to a Walmart nearby so get some yogurt and a prepaid credit card.

You know when you get cash at the ATM with your credit card, the credit card company charges crazy interest? My banker recommended that I get a prepaid card as it’s an easy way to get cash at the ATM. The lady asks me how much I want to put on the card. $200 should be enough cash. Turns out you need to pay with a debit card to buy these kind of cards, can’t use a credit card. I don’t think much and pay with my debit card. As I leave I realize that was a dumb move. If I used my debit card to pay for it, I could just as easily have gotten cash at the ATM with my debit card. Facepalm!

I get back to the car, read the instructions to activate that prepaid card, sounds way too complicated, I start to regret this. $200, dammit! I’ll check it out this evening.

I get some oats that I had packed in Montreal, and mix them in the yogurt, and have my breakfast in the car!

Last night before going to bed, I looked for a place in Columbus where I could eat healthy food. I want to avoid fast food as much as possible. I found a vegan place that doesn’t require a big detour, so I set the directions to it and start driving.

About an hour later, I feel the lack of sleep hitting. I need coffee. Good thing is I brought ground coffee and an Aeropress for the trip. I filled up my thermos with hot water when I checked out earlier, so now I just need an appropriate place to stop to make the coffee.

I’m driving on a road that goes along Lake Erie. The lake looks massive, but the trees are still leafless and the sky is grey. Not so pretty. Looking at the names of the cities I cross, I feel like I’m going on a European tour. Hamburg, Dunkirk, Barcelona, Sevilla, Geneva, London.

I get back on the highway and enter Pennsylvania. There’s a rest stop - I can finally make my coffee! I find a table and make my coffee near a woman who is training someone to fill up vending machines. I tell her I’m making coffee, that I like good coffee.

“Oh it’s like my brother, he always goes to Starbucks!”

I say nothing. (But in my head I’m thinking “Starbucks is not good coffee, that’s why I make my own.”)

I have a few sips of this delicious beverage and keep going towards Columbus.

The drive is not fun, it rains, sometimes sleet, it’s windy at times too. The landscape is still flat, still with leafless trees.

I arrive at Porter’s Cafe in Columbus at 1pm. The neighbourhood doesn’t look too nice, but the place has the classic vegan/healthy vibe. I have the “Super Power Wrap”, which has falafel, guacamole and the usual greens. It’s delicious, and I’m glad to have found this place.

As I’m eating, I look for what to do next. I want to visit the Indianapolis Motor Speedway Museum, but I won’t get there before it closes today. I’m thinking I could just drive to Indianapolis, find a hotel near the track and visit the museum tomorrow morning. Indianapolis isn’t too far, so I should have time to rest a bit in the evening. I need to rest. I book a hotel, and off I go!

The drive is the same as in the morning: rain, sleet, wind. The rain stops past Springfield, Ohio, but the wind is still present and the sky still grey, and the trees still leafless. Still, no rain is an improvement!

I arrive at the hotel in Indianapolis around 5:00 pm. I rest for an hour, then look for a place to eat. There’s an Ethiopian restaurant 5 minutes away, I’ve never had that kind of cuisine, that’s exciting!

The map makes me go through a residential neighbourhood that looks sketchy. My Audi definitely doesn’t belong here. I arrive at the restaurant, the car still doesn’t belong, I’m hoping no one will do anything to it, but refuse to stress about it, there’s no reason to think people have bad intentions.

I get in the restaurant, which looks charming. It has an African vibe, and not a fake one. I have no idea what the food looks like and ask the waitress for a recommendation. I don’t really understand what she recommended, but nodded, and said I like spicy. I’m not picky and I’m sure whatever she brings will be good.

The service is slow, and I’m getting hungry. Finally the waitress arrives with a large plate. There’s some kind of crepe at the bottom, topped with marinated shrimp, and an assortment of goodies: lentils, beans, lettuce and tomato… She brings a smaller plate with what looks like thick cloth napkins, the same colour as the crepe. “It’s finger food.”, she says as she gets back to the kitchen.

I pick one of the napkins up and realize it’s more of that crepe. It’s spongy and thick. I guess I use it to pick stuff from the plate. It’s delicious, spicy but not too much, plenty of flavours, and the texture of this crepe is fun! As the waitress makes the usual quick “is this okay?” check, I ask her about the crepe, she says it’s a flat bread call injera, cooked on clay. I’m fascinated.

I’m almost done eating when I realize I ate way too fast. I’m so full, can’t eat anymore, please don’t talk to me about food until tomorrow!

I pay, and leave. The car is still in the parking lot, good. Glad I didn’t worry about it. I head back to the hotel, check some work updates, and get to bed, I need to sleep. It’s 9:30pm.

Road Trip - Day 1

2:42pm, I have just moved the car a few metres from its parking spot. “Let’s go!” I tell myself, ready for a 6-day road trip.

I don’t need music for now, I need to focus, I think while sipping coffee from the thermos. There’s more traffic than I expected on Montreal island at this time of day, no idea why but I’m going for the long run, so no need to worry.

30 minutes have passed and I need to pee already. Dammit! I just peed right before leaving. I hope it won’t be one of these trips where I need to take a pee break every hour! I won’t stop yet though, I want to leave Montreal island first, cross that milestone off the checklist.

I finally find an exit with a Tim Hortons close to the highway. I stop, go inside, someone’s already in the bathroom. I wait in line to buy something because I feel bad using the bathroom without being a customer. The door opens before I get a chance to place my order, I go pee, can’t wait. Relief!

I take two ‘Roussette au miel’, my favourite, and get back in the car, back on the road, heading towards Toronto. But I’m not going to Toronto.

There are a lot of trucks on the road, everyone drives faster than the 100km/h limit, so I stay in the flow. The view along the road is boring, flat land with some leafless trees and patches of snow. Sometimes there’s a nice sight, but nothing very exciting.

I make a final stop in a rest area for another pit stop before leaving the highway, headed toward the US border. I’m nervous every time I have to cross the US border. It’s the only country I’m always nervous getting in. I have no reason to worry, I’m a lucky white male, but we read so many bad stories that I’m always nervous.

“Hello sir! How are you today?”
“I’m great! Thank you!” I answer, giving my passport to the border agent.
“Where are you going?”
“Los Angeles”
“Woah! What brings you there?”
“Yeah, long road trip. I’m visiting a friend.”
“How do you know him?”
“From France.”
“Is he an American citizen?”
“No, but he married an American lady.”
“How long are you going to be in the country?”
“A month.”
“When was the last time you were in the US?”
“Mmmmh… almost two years now.”
“Do you fly to Syracuse?”
“No, I usually go to New York City, my brother lives there.”
“Okay. Anything to declare? Food? Fruits? Vegetables?”
“I have snacks, but no fruit or vegetables.”
“Alright, have a good trip.”
“Thank you! Have a great evening!”

Phew! That went well! He was nice.

I’m crossing the few bridges over Thousand Islands, it’s a nice view as the sun is setting in my rear view mirror. I make a quick stop to let friends know I crossed the border. I can’t waste much time though, there’s still plenty of driving before I reach the hotel I booked. Over 3 hours, Maps says.

I follow the directions, as the night is coming down. Still a fair amount of trucks. Nothing to see, it’s dark.

It’s about time for dinner as I reach Syracuse, and I just entered a toll highway. I don’t feel like leaving it, paying, and getting back on it just to pay again. I’m sure there will be a rest area with restaurants. And indeed, there’s one a few miles away, with a McDonald’s. Damn! I want to avoid McDonald’s! I’m thinking about waiting for the next rest area, but chances are the next fast food restaurant will be worse. Let’s play it safe, take a break and have “a delicious Big Mac.”

Dinner over, I have a bit over two hours left to drive. That’s two hour-long podcast episodes, perfect!

I finally arrive at the Red Roof Inn in Hamburg, NY, it’s 9:45pm. That was a good drive. I didn’t even fill up the tank! I get in the room, check my emails and work messages, read the news, brush my teeth, and go to bed.

Easy way to make more money

Yesterday I cancelled some insurance that I didn't need anymore. That's about $150 more in my bank account every month.

A couple of weeks ago I cancelled a few streaming services, that's another $25 per month.

A few months ago, I called my mobile carrier and managed to lower the price of my phone bill by $30.

If you add all of it, that's about $200 that I save every month compared to earlier this year. That's substantial.

You probably already know this, but these examples are a good reminder that the best way to increase our income is to cut expenses.

Bonus story: A couple of years ago, I had to be careful with my expenses, and tried to cut as many unnecessary things as possible. One of them was cookies, chips, sodas, and all other kinds of processed foods. I also reduced the size of my meals. Not only did I save money, but I also lost 15 pounds in 3 months!

I wake up when I wake up

One of the best things when I was freelancing was that I could wake up whenever I wanted. It doesn't mean I slept all mornings. I just stopped using an alarm clock. I'd naturally wake up at about the same time every day thanks to my body's internal clock rather than the dreading sound of an alarm.

One of the best things about working at Unsplash is that we manage our time however we want, as long as we complete our tasks in a reasonable time. So I can keep waking up without an alarm clock.

I use an alarm when I have something scheduled that I can't miss, but it's very occasional, no more than 10 times a year.

And in case you're wondering, I usually wake up between 6am and 7am.

10 years making iOS apps full time

This week I'm celebrating 10 years of making iOS apps. I don't know the exact day. I searched through my first projects, the oldest files date from March but I didn't use versioning back then and re-created projects from scratch quite often. The earliest 'proof' I have is a photo from February 13, 2009, when I created an account on the iPhone Developer Program.

I have been making apps full time since then. Just a couple of years after I started, people called me a senior developer, and it made me laugh because I didn't consider myself one. But I realized I was one of the few then who had worked full-time building apps when most developers were hobbyists, creating apps on their personal time while having different jobs.

It's been a fun 10 years, I worked on 31 apps, mostly as a freelance, and learned a ton from the many people. A big thank you to

  • Fred Brunel, for teaching me a ton about programming best practices, scoping projects, managing priorities, and shipping products.
  • Martin Dufort, for giving me a chance in the early days of iOS development, and for coining the term "Olislump."
  • Sam Vermette, for sharing your care for design and the awkward jokes, it was fun co-organizing CocoaHeads with you.
  • Hesam Hosseini, for the trust and respect you showed for me during the years we worked together.
  • Dan Robichaud, for showing me what it's like to work in a startup, and managing ever-changing priorities.
  • Luc Vandal, for your confidence in me, letting me work on your baby, Screens.
  • Adii Pienaar, I owe you more than you think, we still have a company together by the way.
  • John Mitchell, for showing me the business side of making apps, and how ruthless we should sometimes be.
  • Mikael Cho, Luke Chesser, and Steph Liverani for staying in touch all along my iOS developer career and giving me the opportunity to join the fantastic team at Unsplash.

Back on Ghost

This site is hosted on Ghost, a fantastic publishing platform, built by people with great values. I backed the project on Kickstarter almost 6 years ago and used it for several years. But I had to make budget cuts early 2017 and moved my site to a much cheaper DIY solution.

While that DIY solution was great for my wallet, it turned out to be quite complicated to write and publish content. So much that it discouraged me from writing. Many times, I thought about writing something, but the thought of going through this tedious process was enough just to give up.

I like to write and want to try more, and for the past couple of months, I considered moving the site back to Ghost. The price was what refrained me from moving forward. It's overpriced for my needs, but the thought of supporting this great team behind the project convinced me to pull the trigger yesterday.

It's changed a lot since the last time I used it, in a good way. The editor is a joy to use, and I'm very excited to be writing again!

We're all jerks sometimes

Yesterday I went with a friend in a neighbourhood I don’t know well. I parked the car in a snow-covered street, after we both checked the parking signage, and made sure it was okay to park there.

When we came back to the car, there was a ticket on the windshield; I was mad but pretty sure I would be able to contest it. As I was brushing off the snow from the car, I noticed I had parked in front of the driveway. I checked the ticket and yup, the description was right. I hadn’t seen that driveway when I parked, and clearly, I would have moved to another spot if I had.

I probably didn’t notice it because I was more focus on the signage (it’s a nightmare in Montreal), and it was all covered in snow, but these are not valid excuses, I should have paid attention. My friend told me she shared the blame, but while I appreciate the gesture, I drove the car, so I was in charge. It’s my job to pay attention, not hers.

I was quite angry at myself because I always to try to be nice to people and make it easy for everyone around me, but this time I was the jerk. I felt like this one wrong move on my part ruined all the moments I tried to be nice. I was angry and ashamed.

That’s a reminder that when I see a stranger misbehave, I shouldn’t think they’re a jerk/moron/dummy. We can’t make quick assumptions about people based on a single poor action from their part without getting more context. We’re all jerks sometimes.

Car dealerships' missed opportunity

Earlier this week, I went to Audi for my car’s annual checkup and to get the winter tires installed. They offered me a courtesy vehicle while they work on the car.

The few times Audi handed me courtesy vehicles, I was looking forward to testing an Audi model different than mine. Instead, they loaned me non-Audi cars: a GM and a Kia. I was disappointed. And this is where the dealership is missing an opportunity to sell new vehicles.

They could have loaned me a slightly-more-expensive-than-my-car A4, which may have convinced me to upgrade last year when I got a new A3. Courtesy vehicles are a great way to offer customers to test drive cars they might be inclined to buy in the future. It also helps retain customers.

By loaning other brands cars, it’s possible the customer might prefer the competitor’s models. What if I had loved the Kia (I didn’t)?

This time, I had a brand new Audi Q3, the SUV version of my A3. I was excited to try it. In the end, I was not impressed with that car, I prefer my A3, but at least I now know the Q3 isn’t for me, but I would recommend it to my mom.

Oh hey there!

Look who’s back here? What happened during this year and a half hiatus? More travels, new friends, new apartment, new job. The usual as per Oli’s standards. And what’s the deal with writing again?

Last week I attended an event where my friend Shelley talked about her passion for writing. She challenged herself this summer to write every day for 30 days, and succeeded, explaining that she allocated one hour to writing between 8 am and 9 am.

And I thought “I can do the same, 8 am sounds like a good time to write”. It’s currently 8:12 am on this cold Tuesday morning of November the 21st, here in Montreal, and I’m writing again.

Small Victories

As you read this, I won that post. What do I mean, you ask? Well, I believe life is about winning. Whether it’s a game, money, fame, a heart… we all want to succeed.

But all these goals we think about on a daily basis are the mid/long term ones. We ignore the small ones, like eating, being at work on time, buying the groceries, or even taking a shower. These are unconscious, or routine, goals.

And every time we complete these goals, we win. You’re hungry, you cook, you eat, you’re not hungry anymore, you won. That simple.

Think about all the little goals you’ve accomplished today, and compare that to the things you failed. I bet you had more victories than losses.

I know this is a candid way of seeing things. But seeing victories in even the small tasks nurtures a positive mindset. It’s also fun. And I don’t know about you, but I like having fun. And I just won that post. Boom!

I Don't Have Time For The Lazies

For the past couple of years, I have been contacted around twice a week by recruiters. Most of the time from LinkedIn. I rank them in three categories.

  1. The lazies - They just send me an invitation to connect on LinkedIn. I ignore them, even when sometimes they make the effort of adding a custom message instead of just leaving the default one.
  2. The average - They send me a message from LinkedIn before trying to connect. Usually they give details about the position they’re trying to fill in. I answer them, sometimes after several weeks, but I make the effort to answer them, because they took the time to write a message, even though it may be a canned message.
  3. The good ones - They send me an email to my personal address. That means they’ve done their job and tried to find more about me than just what’s on LinkedIn. I usually answer them within a day or two.

It’s not very hard to land on my site and find my email address. Yet, I’m shocked that very few recruiters send me an email instead of going through LinkedIn.

There’s a shortage of iOS developers, so you would assume that recruiters would try to do their best to attract them by doing a minimum of research. But no… most of them are lazy and just send an invitation to connect. I don’t have time for the lazies.

Rumours

Friend: Hey Oli, what do you think about that team acquiring that player?
Me: Is it official or rumours?
Friend: Rumours.
Me: Then I don’t care.

I don’t care about hypothesis, I care about facts. I don’t have time to speculate on rumours, I’d rather spend my time writing.

I Have No Clue What's Going On

Let’s get back about fifteen years ago. I was watching the half-hour newscast on TV, waiting to see the summary of a soccer game at the end of the broadcast. Five minutes in, bad news. Ten minutes in, bad news again. Twenty minutes in, more bad news. Twenty-five minutes in, sports should kick in, but guess what? Still more bad news. We reach the thirty minute mark and the show ends, nothing about sports. We went through thirty minutes of bad news, and no sports, not even any good news at all. I was pissed.

That night I decided to stop following the news. And over time, I became happier and more optimistic about everything.

At some point, I got back to following the news again. And you know what? My optimism started to fade out.

Three weeks ago I decided to cut the news again. Besides sports, I’m not reading the news online, I’m not watching the news on TV, I’m not listening to podcasts, I’m not reading RSS feeds, I’m not browsing my Twitter feed.

I have no clue what’s going on, and it feels good. Really good.

You're Not Fun Anymore, Twitter

Hey Twitter! How’s it going? I noticed you’ve become a great place to spread the word about inequalities, conflicts, unfairness, and so on. That’s amazing and I believe this is your best achievement so far.

How about me? Well… all this increasing sharing of injustice is not what I’m looking for when I browse my feed. Not that I don’t care about these, but I’ve always considered you as a fun place to hang out. You’re not fun anymore, Twitter.

Yeah I know… I could follow different people… but I’m lazy, so I’m gonna stop browsing my feed and keep posting meaningless and fun things.

No hard feelings,
Olivier

I Had To Redesign The Site

It’s always the same story. You start a new blog, write a couple posts, and for whatever reason stop at some point. Then you find all kinds of excuses to not write again. A popular one is that the site needs to be redesigned.

Yeah, right…

And guess what? That’s exactly what happened here. For the past couple months, I’ve been itching to write again, but because it didn’t look good on mobile, I believed I had to redesign the site before. Poor excuse, but I did it anyway.

Give Your App a Brain With a Flow Controller

One of the first rules a developer learns is to separate the code handling the data and the user interface. The link between the data and UI is usually done in a controller, or, in iOS, a view controller. In most projects, view controllers are interconnected and can be very dependent with one another. That’s where the flow controller comes in. It serves as a link between view controllers. It’s the brain of the app.

Technically speaking, a flow controller is a NSObject, and is very specific to the app you’re working on. Therefore it’s hard to have a base object to subclass. However, there are some rules to follow when architecting the app.

  1. Keep the application’s stateThe flow controller should always know what view controller is currently in charge. It should also poll the model objects to know the current context (feature locked/unlocked, logged in/out…).
  2. Manage the logic between view controllersThe flow controller should control the view controllers. Because it knows the application’s state, it knows when to present or dismiss a specific view controller, and which view controller should get the focus next. View controllers report to the flow controller through delegate methods so it can perform the necessary action.
  3. Orchestrate the view controllersThe flow controller should take care of the transitions and animations between view controllers. Centralizing this in an object makes it easier to replace a custom transition or change the app’s architecture (tab bar, navigation controller…).
  4. Prevent view controller dependenciesThe flow controller should remove dependencies between view controllers. They report to the flow controller when they require an external action and don’t know about each other, the flow controller does.
  5. Handle a portion of the applicationFor complex applications with a lot of view controllers, it may be better to use several flow controllers, each taking care of a different portion of the app and reporting to a master one. An application with a tab bar could have a flow controller per tab, and a main one that links them together.

I’ve used a flow controller in two projects so far, and it helped a lot organize and keep track of the workflow of the apps.


This post is based on a presentation I made at CocoaHeads Paris on January 9th, 2014. You can view the slides here.

Download a sample project here.

Universal App – From iPhone to iPad in 5 hours

This is the story of how I got to have an iPhone app work on iPad with a fairly different layout in just 5 hours of work. I’m sharing a few insights, but note this is not a secret recipe and it’s not be applicable to all projects.

This summer, I helped my friend Luc and worked with him on a new version of his company’s flagship app, Screens. Screens is a VNC client, an app that connects to a computer remotely and allows to control it. Early on, Luc had decided the app would be iOS 7 only, and that we’d start the project from scratch.

While at WWDC, as iOS 7 was unfolding before us, we exchanged about how the app could look like, and how we could take into account what we were learning that week: full-width images on iPhone, motion effects, blurs, tint color and so on.

Because the app already existed both on iPhone and iPad, we also knew from the start it would be a universal app. So as we debated on the app’s design, we considered both iPhone and iPad at the same time. Luc drew a few sketches and Thomas, the designer, quickly got back to us with pretty good mockups. The app’s design hasn’t changed much since these mockup.

They look different, yet they are the same

The app is composed of 3 main views:

  • saved screens: the remote computers you connect to often
  • discovered computers: the computers on the local network the and remote computers
  • the remote view that is displayed when you are connected to a computer

The last one is exactly the same on iPhone and iPad, it shows a full screen live view of the screen of the computer you’re connected to. We’ll focus on the first two views.

On iPhone, the saved screens is the main view, and the discovered computers view pans over. On iPad, they are laid out side by side.

Same view controllers, different storyboards

There is only one view controller for each view, then there’s a storyboard the iPhone layout and different storyboard for iPad. Some of the differences between iPhone and iPad are handled in the code, but most of the design and layout is done in these separate storyboards.

This is especially interesting in the case of the saved screens, where it’s a list on iPhone and a grid on iPad. You can now guess we went with a collection view. It’s even the same collection view cell object for both iPhone and iPad.

As we were thinking about the app’s design, we kept considering how we’d have to handle the development too.

Make sure all works on iPhone before moving to iPad

So this is how we approached the app’s development. We made sure we had all the functionality work on iPhone before even starting on iPad. Since we already knew how the app would look like on iPad, we knew beforehand we’d use a collection view instead of a table view on iPhone.

It took a couple of weeks to have something working pretty well on iPhone. At some point, though the app was still far from being perfect, we knew all the core functionality and logic was there for us to add the iPad layout.

Then it was breathe: set the project as a universal app, add the iPad storyboard and set the collection view’s layout properties, and handle some differences in the code when necessary.

In no more than 5 hours, the iPad version of Screens was working as well as on iPhone, with a different design. I didn’t expect it’d be so easy to be honest.

Plan ahead, design with development in mind

Imagine if we had used a table view on iPhone and a collection view on iPad. How would have we handled that? We’d probably have ended up with more files, a lot more code, and more pain to maintain that code.

I think the reason it went so fast is because of the way we planned the design and the development together. It doesn’t work that well for all projects, but whenever you can, try to think about development effort as you design your app.


This post is based on a presentation I made at CocoaHeads Paris on December 12th, 2013. You can view the slides here.

Solving Problems Like a Pinball

When solving a problem, imagine you build a pinball. The ball must reach the back of the play field when you hit it with the flippers. So the first thing to do is remove all the obstacles and make sure it reaches the back. Only then you can add the obstacles one by one while ensuring it keeps working every time.

That’s what my teacher used to say during programming classes. When starting a new project, or a new feature, start with the most basic thing, then iterate in small increments.

Need to add a label in a view? Place it at the center with a bright color so you can’t miss it. Then you can move it to its final position.

Need to connect to an API? Hard-code the URL and credentials and make the connection succeeds. Then you can create a view that asks for credentials.

Need to create a custom transition between views? Create a new ‘lab’ project dedicated to this task. Once it works you can move the necessary code to your big project.

Go the easy and lazy way first, then improve. Hard-code values, use bright colors, or even start a brand new little project and make sure that what you have to do works at its core. Once it works, you can add obstacles one by one.

It’s something we all know but sometimes forget. I found the comparison with the pinball quite funny so it stuck in my head.

It's Not Obvious to Everyone

I don’t use my phone as much as you do.

This is something my dad told me a couple times as I was teaching him a few features of iOS.

If you read this, you probably know more about iOS and technology in general than the average person. Many things that are easy and obvious to us aren’t to most people.

Observations

The following are a few observations I’ve made over the past couple of years. I don’t have numbers, but I’m pretty sure my usage of ‘some people’ should be more like ‘most people’.

Some people don’t use their phone extensively

For most people, a phone is just a tool to communicate and get entertained when they have time to kill. Because it’s not an object of real interest to them, they don’t have or take the time to learn new flows, icons, terms or read manuals (nobody reads manuals).

My dad often touches his iPhone’s screen inadvertently; that brings the current app to another view/state and he’s lost.

Some people hesitate to try when they don’t know the outcome

People are not adventurous by nature. On a computer they’re afraid to break everything if they try something. They approach phones the same way, and if an icon is unclear or a label confusing, they won’t touch it.

Some people don’t know the difference between similar technologies

What’s the difference between WiFi and 3G/LTE? To most people those are the same, they’re the Internet. As long as they are connected to the web they’re fine, how they are connected, they don’t care.

Some complain the Internet is too slow on their iPhone, they don’t notice the ‘E’ next to the carrier’s name, they don’t even know what that ‘E’ means.

What’s the difference between SMS and iMessage? The fact that it’s combined in the same discussion is convenient, but many people wonder why they have blue and green bubbles.

Some people don’t care about aesthetics

In the Talk Show’s 56th episode, John and Guy mention several people they showed iOS 7 didn’t notice the visual difference with iOS 6.

The phone is a tool, and people want to get things done with it. Take a unit converter app for example. Everyone want that kind of app on their phone because it’s convenient and can be useful sometimes. You spend hundreds of hours building the most beautiful unit converter app and charge $1.99 for it. It doesn’t sell because people prefer the ugly free competitor. To them both apps do the same job, but they choose the free one because they don’t care as much about aesthetics as they do about price.

Avoid confusion

Use words carefully

I know it’s annoying for most developers, but spending time to find the proper terms and sentences is very important if you want to avoid confusion. Avoid nerdy terms but be precise when it is necessary.

The iPhone’s manual used to be a great example. Big images, a few lines of text to explain all the main concepts and features. Sadly, nobody reads manuals and the iPhone 5S doesn’t ship with one anymore.

Stay close to Apple’s default behaviors and visuals

People are used to the default interface, if you try to differentiate your app too much, people will be lost. Icon for a delete action? Use a trash, not a cross. Back/Close button? Put it in the top left corner of the screen because that’s where it belongs on iOS.

iOS 7 is a big change and some developers are tempted to put borders around buttons or backgrounds to keep a button shape. But iOS users will get used to that new design, and quicker than you’d think because the apps they use the most are Apple’s, like Mail, Phone and Messages.

Spend time observing Apple’s apps, their flows, animations, and text. They’re not always perfect, but most of the time they solves problems the right way. And it’s a great source of inspiration.

Provide some help within your app

Whether it’s a walkthrough when the user launches the app for the first time, an overlay, a sample document or an embedded help web page, your app must provide some help for the user. And it has to be easily accessible, people won’t find it if they have to dig into a long view hierarchy.

It’s usually not a fun thing to work on, but you can make it cool, the perfect example being StatusBoard for iPad by Panic. The guide looks like a real manual, and it’s actually entertaining to experience the first time you launch the app.

The tip of the iceberg

I just scratched the surface here, there’s a ton more to say about improving the user experience for mass market apps.

We spend our days working on apps, we talk about development, technology all the time between ourselves. But sometimes we need to take a step back, and think about the guys who are not in our bubble. They are the majority, we are the aliens.

Many things in technology are obvious to us, but not to most people. We have to take that into account while we build products.


This post is based on a presentation I made at CocoaHeads Montreal on October 8th, 2013. You can view the slides here.

See Better, Feel Better

I wore glasses for most of my life. When I was in elementary school, other kids made fun of me for the ’fancy’ glasses I wore, or because I didn’t look cool. As a teenager, I was classified as a geek, before being a geek was hip. I got used to those remarks and easy stereotypes. It hurt, but I got used to it.

My glasses were the first thing I looked for as I woke up. I couldn’t see much without them. If I placed them in a unusual spot the night before, say on the coffee table in the living room, it could be a challenge to find them. Other times I forgot to put them away as I was going in the shower. Those who wear glasses all day know what I’m talking about. Glasses become part of us.

Every now and then people asked me why I didn’t wear contacts. The idea of ’putting my finger in my eyes’ kinda scared me. I also believed that nature made me so that my vision wasn’t perfect, and I had to deal with it the most basic way, with glasses.

In the summer of 2010, I decided I needed new glasses. I used the same pair for 10 years, which is way too long, so I was due for new ones. But then the idea of laser eye surgery popped. I had heard a few people saying the operation is very common and easy. I started reading a bit more about it and got an appointment at a clinic for an evaluation. I was a good candidate for the surgery.

I had the surgery on September 21, 2010. 10 minutes later, I didn’t need glasses anymore. I remember sitting on my couch a couple hours later, being able to read the time on the cable box on the other side of the room, and laughing of joy, excited. That was the moment I realized what happened. The next days were like a game of trying to read everything, and gauging how far I was able to read and see things clearly.

This surgery has changed my life in many ways. I gained more confidence in myself. The glasses were a burden that I got rid of, I felt I wasn’t considered as a geek anymore, I could be anyone. Kinda like Clark Kent becoming Superman.

My Road Trip Break

A very good friend of mine got married on March 1st in Los Angeles. I thought it’d be cool to do a road trip to get there. My plan was to take the train down to New York City to visit my brother before renting a car and driving for seven days to Los Angeles. I’d then stay a couple days for the wedding and finally drive back to New York over another five days.

Everyone who I shared my plans with told me two things: “Wow! That’s awesome, I wish I could do the same some time” and, “round-trip! You’re crazy! That’s a lot of driving!” To me, doing this round-trip doubled the awesomeness; I love driving.

As I knew I’d spend 12 days driving the car alone, I expected to take the time to think and reflect on life and other random things. I also planned to listen to music the entire time, because that’s what you are supposed to do on a road trip.

Turns out, I ended up doing almost none of this. I just watched the road, hands on the wheel, cruise control on, looking out at the scenery here and there. I didn’t listen to any of the podcasts I wanted to catch up on and never had the epiphany I thought I’d have while reflecting on my life.

I’m a little disappointed about that. I say only a ‘little,’ because, nonetheless, I did learn a few lessons from that road trip. One is that it’s important to take breaks from your every day life. The past couple of years, I’ve been so busy that I stopped allocating free time in my schedule. That road trip showed me that I was due for a good break.

The Morning Coffee Experience

Grande no whip mocha. That’s my drink at Starbucks. I’m actually not a coffee fan (I don’t like bitterness); however, I appreciate it when mixed with sugar and chocolate. I’m also not used to caffeine, so even a small dose has a big effect on me. The amount of coffee in the mocha is enough to kick-start my day.

I usually stop by my local Starbucks on the way to work three to four times a week. There’s a coffee shop with a better reputation a few blocks away where they prepare coffee with great care, and their mocha is delicious. Nevertheless, I prefer the experience at Starbucks.

There’s something we tend to overlook: the people who work in coffee shops have more impact on the world than they think. The way our mornings start has a big influence on how our day turns out. The more snags you experience, the worst your day may be. A good day usually starts with a good drink that wakes you up and makes you feel alive.

However, a good drink is not enough. What I enjoy the most about my local Starbucks are the nice, short conversations and the smiles the employees share when they hand me my mocha. This makes the difference with the nearby famed coffee shop, where they are so serious about their ‘craft’ that there’s no talks and no smile.

Now think about this on a larger scale. If those small talks and smiles work for me, imagine what it does to thousands of others. Working at Starbucks may not be the fanciest job in the world, but I’m pretty sure the people who work in those coffeehouse chains have a greater influence on the world than we think.

Professional Writer

When I was 18, I almost went to university to get an English literature degree instead of studying programming. I wanted to learn languages and write well.

Fast forward to today, I write hundreds of words a day and I’m fluent in several languages. Not the same kind of writing and languages I pictured back in the day though.

I write code for a job, the audience are my co-workers who read it, and computers that generate apps out of it. The languages I use the most are called Objective-C, C, Ruby, and Javascript.

At the time I gave up on the idea to go to university, I wanted to write for a large audience about sports or a sci-fi novel. I haven’t achieved any of this, but still, for the past 10 years, I’ve stayed in front of a computer writing… code.

It’s only a month ago that I made the link between those early aspirations and my current situation. Sometimes you give something up and think it’ll never show up again, only to later find out it never left.

I’ve recently started to write about sports, and learn Spanish. Interesting how things go in life.