Give Gmail its own app in the OS X Dock, including badges and notifications

I love gmail, but it can be a bit of a pain at times since it is trapped inside of a browser tab, especially if you are using multiple gmail accounts simultaneously. Google has worked hard to improve the experience (Chrome, Safari, and Firefox now support desktop notifications, and you can run different gmail accounts in different tabs), but it still fell short of what I wanted.

One problem with having gmail as a tab in a browser is that it is very challenging to switch back and forth between gmail and another app. I often need to jump back and forth a few times between what I was working on and gmail as I compose the message. I can use command-tab to do the switching, but when I go to Chrome, it takes me to whatever browser tab I was looking at most recently, not necessarily gmail.

Even worse, if the app I am switching back and forth between is Chrome itself, I’m stuck. Command-tab only switches between applications. I can use command-tilde to switch between browser windows, but if gmail is just a tab within the same window, it’s a real pain. I have to keep looking at what tab I’m on and what tab I need to get back to and think about where I need to click. It breaks my train of thought and prevents me from using muscle memory.

I could solve that by using two browsers (e.g. Safari for gmail and Chrome for my regular web browsing), but it still doesn’t take me all the way there. I want a badge icon that shows me how many unread messages gmail has so that I know I have a message that I need to respond to in case I miss the desktop notification.

I spent sometime looking at dedicated mail apps. My first stop was Apple’s built-in mail application. However, I quickly found that it didn’t work very well with gmail in Mavericks. It kept trying to synchronize drafts and sent mail folders as I was writing messages, incorrectly marking items as unread. I then looked at other apps like Postbox, but I just couldn’t reconcile myself with the interfaces. They handled marking messages read or unread a bit differently, or I found the UI for reading threads confusing.

Really what I wanted was gmail itself. Google already had a UI that I liked. I just wanted it in its own app. I have used a tool called CreateCgApp to give Chrome pages their own apps before, but it lacked a few key features. It had no ability to give a badge icon based on the number of unread messages (this was key for me), and ever since updating to Mavericks, it didn’t work quite right. OS X would sometimes get confused between the apps and Chrome itself, and upload file selection dialog was sometimes off screen.

Perhaps someone else had solved this problem? After searching around for a bit, I found the answer was yes! There is an app called Fluid that is built on the same principle as CreateCgApp, except it uses Safari as the base browser. It adds several key scripting features that allow it to perform special tricks like a badge icon. When browsing in Gmail, it looks inside the page for the unread message count and updates the badge icon accordingly. While the app defaults to using the website’s favicon, you can also provide your own.

Fluid finds the unread message count inside the gmail page and updates the dock badge accordingly.

Fluid finds the unread message count inside the gmail page and updates the dock badge accordingly.

There is a free version of Fluid that will give you the basic app, but paying $5 gives you a few key features. First, it activates the scripting module necessary for the badge icon to function. Second, it allows each Fluid app to have its own set of cookies, separate from Safari. This is important if you want to run multiple Fluid apps for different gmail accounts.

The last thing you need to do to tie it together is turn on desktop notifications in gmail’s settings. Once you do this, new message notifications will pop up in notification center.

New mail notifications pop up in the OS X notification center, using whatever icon you have selected for the app.

New mail notifications pop up in the OS X notification center, using whatever icon you have selected for the app.

Since I use two gmail accounts simultaneously, I have created two versions of the Fluid app for gmail. To keep them straight, I gave my personal account the classic “Red” gmail icon, but I created a “Blue” version for my work related account. Notifications are smart enough to show the right icon for each version, so I can quickly see what account a new message is associated with. If you would like to use my icons, you can download them using these links: red and blue. The red one I downloaded straight off the web, and then I modified it in Gimp to create the blue one.

The system works great, but I did run into one strange issue. For some reason, my gmail app would get stuck into some bug that would cause them to keep logging out. It would log in fine, but then when I started a new message, it would take me back to the login screen. It seemed to be associated with creating another Fluid app, but I’m not sure why. I’ve found that deleting the app and recreating it makes this problem go away.

Posted in Uncategorized | Tagged , , , | Leave a comment

FaceTime in the car for the ultimate GPS

One of the recurring themes in my marriage to my wife Aviva is her getting lost and calling me for help. When this started almost 16 years ago, she was new to Boston and had a job that required driving around the city and its surrounding communities.  This was before GPS, and Google Maps wasn’t going to be invented for another eight years. We bought her a cell phone (a big, heavy thing the size and weight of a small water bottle), and I kept a big book of maps in my office so that she could call for help if she got lost.

She got lost a lot.

Each time, we would go through an arduous process of her trying to explain where she was.  I would frantically hunt for the street she was on.  Once I found it, we needed to figure out the cross street, and then finally what direction she was facing.  She always left at least an extra half hour so that she had time to get lost. I tried to generally be aware of her meeting schedule so that I could make sure I was near a phone if needed.

Over the years, these phone calls have become a lot less frequent.  She gradually learned her way around, and then GPS technology became common place.  I was thrilled when Apple rolled out their “Find My Friends” technology, since it could tell me what I always wanted to know in these situations… where she was! Of course, the phones now had GPS built-in, so she hardly ever needed help anymore.

Until last week.

Our son needed to go to see an orthopedist to have the cast on his arm removed. I had taken him when he first injured himself, so I had already been to the doctor’s office in nearby Assembly Square in Somerville.  It’s a confusing knot of streets, but I have been the nearby Home Depot many times and knew my way around.

I was supposed to be taking him for the cast removal too, but due to a rescheduling conflict, my wife was doing it instead. I was worried. The office is in one of these big industrial buildings whose street address had no real relationship to where the parking lot was. The GPS would get her nearby the building, but not actually…there.

Before they left, I pulled up a 3D satellite model on my iPad. I showed her what the building looked like and pointed out a small side street that she would need to turn down to find her way to the parking lot. I figured she would be fine.

And then, 25 minutes later I got the call. She was lost and couldn’t find the building.

“Hang on, let me locate you,” I told her as I pulled up “Find My Friends” on my iPhone. Sure enough, I saw that she had missed the side street and was now on the wrong side of the block.

“Don’t worry,” I said. “Take your next right onto New Street and you’ll find the parking lot.” Then I hung up.

But, a few minutes later, she called back.  There was no sign marked New Street, and she claimed to be on Revolution street, which according to Google Maps didn’t even intersect the street she had been on.  We fumbled back and forth for a while, trying to figure out where she was exactly and where she would need to go.

Finally, out of desperation, I told her to pull over and start a FaceTime video call so I could literally see exactly where she was. I had her slowly pan the camera around until I saw a building off in the distance that looked right.  “There!” I said.  “Right next to the movie theater.  That’s where you want to go.”

But I wasn’t 100% sure she would get there.  Then I had an idea.  “Tell you what – just leave the FaceTime call going. Put the phone in the mount and I can see what you see.”

We have a Kensington dashboard mount for our phones so that they can be easily visible when being used as a GPS. While they aren’t designed to be a dashboard cam, it does hold the phone’s camera so that it is pointing towards the road ahead. Half of my view was taken up by the dashboard, but I could generally see where she was going.

While not intended to be used as dashboard cam, the phone's camera showed me the general road and features ahead.

While not intended to be used as dashboard cam, the phone’s camera showed me the general road and features ahead.

As I watched her drive, I took over the role of the GPS lady but giving even more precise directions.

“Turn right here.”

“See where that truck is pulling out? That’s the parking lot you want to pull into.”

“That doorway you just passed is the entrance to the office. Park anywhere you can find a spot.”

And she was there, with five minutes still left before the appointment.

I felt just like the voice of KITT in Knight Rider. Just like old times.

Posted in Uncategorized | Tagged , , , , , , | 1 Comment

Shortcut: trick a kid into taking her medicine with developmental psychology

This was a simple little trick to get a kid to take her medicine, but it worked so well, I thought it was worth sharing.

My six-year-old daughter Ayelet was sent home from school with a fever on Tuesday. They gave her some tylenol which seemed to get it under control, and by the next morning she was mostly better. However, she still had a mild fever, so we kept her home Wednesday out of an abundance of caution (and the fear of being “that parent” that sends their sick kid back to school).

By Thursday, she was back at 100% and definitely ready to go back. I just wanted to make sure she took one last dose of Ibuprofen before going in case she had any mild residual fever. According to the packaging, she needed to take a 2 tsp dose at age six, so I measured it out and handed it to her.

2 tsp isn't a lot of medicine, but it fills up the measuring spoon.

2 tsp isn’t a lot of medicine, but it fills up the measuring spoon.

And thus began the standoff.

“It’s too much!” she wailed.

“Ayelet, it’s just two teaspons!”

“But I don’t like it! I can’t drink that much!”

And around and around we went. I suggested just taking small sips. I suggested just guzzling it down and getting it over quickly. She wouldn’t budge. The argument dragged out for over five minutes. I needed her to take her medicine, finish her breakfast, and get in the car to go to school, and we needed to move past this quickly.

Then, I had a sudden flashback to my 9th grade geometry class. I don’t remember why it came up, but the teacher mentioned that kids of a certain age don’t have a proper sense of volume. Adults understand that 10 milliliters of liquid is always the same amount, no matter what container you put it in, but kids will think that narrow container has more because the liquid rises higher.

Ayelet has reacting to the fact that it was too much medicine. Was she old enough to know that the volume was the same if I put it into a different container? Was this random factoid from 9th grade even true?

As my daughter watched me, I grabbed a juice glass from the cabinet and poured the medicine in. It formed a tiny puddle at the bottom of the much wider cup.

2 teaspoons fills the measuring spoon, but it just forms a tiny puddle in the much wider juice glass

2 teaspoons fills the measuring spoon, but it just forms a tiny puddle in the much wider juice glass

“Here,” I said as I handed it to her. “It’s just tiny bit.”

“Okay,” she said, and gulped it down.

Hmm. I guess my geometry teacher was right. Problem solved.

I went and looked it up, and it’s true. The concept is called “Conservation of liquid and number”, and the ability kicks in at around age seven. Ayelet was still young enough for the trick to work. In another year, I might be out of luck.

Normally I am all about teaching my kids about science, but perhaps I’ll keep this one a secret until they are a little older.

Posted in Uncategorized | Tagged , , , | 1 Comment

Answered: What’s inside a Crest “Neat Squeeze” kids toothpaste tube

Have you seen the “Neat Squeeze” kids toothpaste tubes from Crest? Rather than being a flexible tube that crumples as you use it, they are a more rigid tube that always stands nicely on the sink counter.

The "Neat Squeeze" bottle always stands straight up on the counter and claims to reduce mess

The “Neat Squeeze” bottle always stands straight up on the counter and claims to reduce mess

They claim that they eliminate the mess of a regular toothpaste tube with a “unique inner bag that empties itself as you use squeeze in the middle.”

How do you know when it’s used up? The package goes on to say “When the package gets lighter and is harder to squeeze, it’s time to buy more Crest.”

Hmm… it doesn’t say when the package is “empty”, and this makes me suspicious.

Brushing the kids teeth has gotten increasingly frustrating over the last few weeks as I have tried to get more toothpaste out of that bottle.  I’d squeeze and press and crush, but only air would come out.  I could still feel that the bottle was pretty heavy, so I was sure there was a lot more in there, but the rigid packaging made it impossible to get out.

For some reason I am obsessed with getting the last drop out of containers and have been known to cut them open when necessary to get my money’s worth. So, the idea that this toothpaste tube was wasting large amounts of toothpaste really bothers me. I had to know – what was in there? Was it really close to empty?

Time for a dissection.

There is an inner bag that holds the toothpaste, surrounded by a big pocket of air.

There is an inner bag that holds the toothpaste, surrounded by a big pocket of air.

I pulled out the kitchen shears and cut off the bottom.  Sure enough, there was an inner bag.  It was surrounded by a pocket of air and seemed to be based on the “Drop-Ins” bag-style baby bottles from Playtex. The idea is that the bag should slowly collapse as the toothpaste is squeezed out.

That fit the description, but how effective was it at getting the toothpaste out? I continued cutting.  I sliced open the side of the tub to expose the full bag, and then I opened up the bag itself.

There was still an enormous amount of toothpaste in that package

There was still an enormous amount of toothpaste in that package

As I suspected, not very effective.  There was at least a few weeks more toothpaste worth of product still in that bag.

Sadly, I’m still going to throw it out. It’s not worth trying to get the kids to swipe toothpaste out of it, and I am certainly not using the sweetened toothpaste myself.

But it definitely not a bargain. From now on, just regular old tubes for us.

Posted in Uncategorized | Tagged , , , | Leave a comment

Parenting Milestone: An independent child is a safer child

Milestones come in all shapes and sizes, and we had another one this past Sunday. I sent my six year old daughter Ayelet into the women’s locker room to change by herself. This may not seem like much, but to me it represents an important step in keeping her safe in the world.

Kids over five years of age are forbidden to enter the locker room of the opposite gender

Kids over five years of age are forbidden to enter the locker room of the opposite gender

There are a lot of things I don’t worry about for my kids. I don’t worry about them getting hit by lightning, and I don’t worry about them contracting anthrax. While these things do happen, they are so rare and there is so little I can do to protect them that I don’t need to worry.

There are other things I don’t worry about. I don’t worry about them getting abducted, and I don’t worry about them choking while my back is turned. Child abductions by total strangers are rarer than people getting hit by lightning. My kids know how to chew, and the fact of the matter is that I don’t know the Heimlich maneuver, so watching them all the time won’t make them safer.

So what do I worry about? I worry that at some point my kid will be alone and will do something foolish. That they will get lost and not know what to do. That they will run across a street and headlong into a car. That they will jump into a pool and drown.

The best way I know to deal with this fear is to teach my kids to be independent. At some point, inevitably, they will find themselves alone. We will get accidentally separated. There will be a miscommunication in a pickup schedule and they will find themselves the last kid waiting to go home. They will be playing in the basement and somehow manage to climb up and reach my toolset.

The best way I can think of to protect them in these situations is to “world-proof” them. Prepare them to make independent decisions, think for themselves, and show good judgement. They can solve most problems if they have a good head on their shoulders and know when to ask for help.

And this brings me to the locker room at swimming lessons.

My wife had a morning meeting, so I had both kids on my own. My son can go with me into the men’s locker room, but my daughter is now 6 and is too old . Kids over five years of age are forbidden to enter the locker room of the opposite gender. Recognizing that many kids will not be able to navigate the locker room on their own, the pool helpfully refers parents to the “family changing room”, a small room with four lockers, a shower, and a toilet. We stopped in to find about a dozen parents and children trying to crowd in there. It was hopeless.

I saw this as an opportunity.  Ayelet had been in the women’s locker room before, and she knew how to dress herself. Once her lesson was complete, I said to her, “Ayelet, now that you are six, I think you can go get dressed on your own in the women’s locker room.”

She was nervous at first, but I assured her she would be fine. I told her I would wait by the pool entrance door, and she should change and then come back out and meet me.

While I had every confidence in her ability to do this, it is a little complicated. I’ve never seen the women’s locker room, but if it is anything like the men’s, it is a warren of different sub-rooms. One door leads to the bathrooms, another to the showers, another back to the pool area, and another to the gym. If she went out the wrong door, she wouldn’t be able to get back in and would find herself in a different part of the building.

And so I followed up with the most important piece of advice. I said, “If you need help or get confused or aren’t sure which way to go, ask somebody for help.”

Most people are nice, kind, caring, and only too happy to help. I hate to think of the message that parents send when they discourage their kids from talking to strangers for fear of abduction. This is incredibly unlikely. I want my kinds to understand that when they need help, they should not be afraid to ask for it. It’s much safer than trying to do everything on their own.

And so my daughter trotted into the locker room and I wanted by the door. And waited… and waited… and waited.

I figured it shouldn’t take her more than five minutes to change, but she also had to go to the bathroom. I was confident Ayelet knew what to do, but was I making her do something she wasn’t ready for?

On the other side of the pool area I saw a friend of ours waiting with her daughter for their swimming lesson to start.  I figured that if she went past 15 minutes, I would go over and ask her to check on Ayelet. At 12 minutes, our friend walked over on her own volition with her daughter, who needed to go the bathroom.

She quickly read the anxious look on my face and asked, “Would you like me to go and check on Ayelet?”

With relief I said, “Yes, that would be great!”

They walked into the locker room, and less than 10 seconds later, Ayelet walked out.

“Was everything okay?” I asked her.

“Yes!” she said. “I was just finishing putting on my shoes.”

Posted in Uncategorized | Tagged , , | Leave a comment

The vanishing art of handwriting

As a child I spent years practicing how to write words on a sheet of paper. Aside from English and history classes, every homework assignment through college was done with a pencil in my hand.

Now, just about the only time I hold a writing implement is when I need to draw something on a whiteboard. This usually consists of some boxes and arrows to illustrate how data flows through computer systems and some hastily scratched out letters to annotate what each box does.

These bits of handwritten words often brings smirks to the faces of my colleagues, since they are illegible, even to me. It’s been suggested that my handwriting would be a great form of cryptography.

To be fair, my handwriting was never that great. I remember in 7th grade when my English teacher Mr. DeFusto walked over to me, handed me my graded homework assignment and said, “Jeremy, if your handwriting doesn’t improve, I will fail you.”

I did work on my handwriting and passed the class, but I’ve never found it an effective way to get my ideas onto paper. Freshman year of high school, I took a touch-typing class and found my preferred medium. A few months in I had already cracked 70 words per minute (you had to reach 40 words per minute by the end of the year to get an A), so they just let me finish early.

Thankfully, the world has moved to electronic communication, so I have had to rely less and less on writing. Virtually everything I do involves a keyboard. While mobile devices have shed their physical keyboards, the stylus-handwriting method used by the old Palm Pilot never took off. Auto-correct has kept virtual keyboards alive.

Sure, I do still use a pen here and there. On the rare occasion I need to address an envelope, I pick one up. And I’ve been known to write a physical check on rare occasions. But mostly, handwriting is relegated to the whiteboard.

That is, until a few weeks ago, when I started writing a daily note to my daughter, Ayelet.

She’s in kindergarten, and she was going through a phase of difficult drop-offs. She was happy in the classroom, but she never wanted me to leave and would clutch tightly to my arm. The teachers assured me that she was fine as soon I left, but it was a huge battle to get her to let go and engage in the classroom activities.

One day, I asked her what would help her have a good drop-off.  She thought about it a moment and then said, “I want you to write me a note.”

This was a puzzling choice, since she is just at the very beginning of learning to read, but I figured I would try it. I wrote a little note about how she likes mermaids and drew a crude mermaid picture (my artwork is even worse than my handwriting). I gave it to her in the classroom, and true to her word, she let me go without a fuss.

So, we started doing notes every day. I would write something silly that happened that morning or the previous evening and a silly little stick-figure to go with it. Each day I give it to her as she walks into the classroom and tell her what it says.  She smiles, shows it to her teachers, and runs off.

Yesterday, we were running late, and I didn’t have time to write one before we left. I promised her I would write it in the classroom, so once inside I grabbed a marker and started to write as she watched.

And then Ayelet started to criticize.

“You can write better than that!”

“Take your time! Do a good job!”

“Why are writing so fast? Slow down.”

I looked at her, baffled. Yes, I was rushing because I needed to get to work, but I wasn’t going *that fast*. This was just how my letters look. Sure, I don’t have the best handwriting, but this was a step up from my usual whiteboard chicken scratch.  I really was doing the best I could.

One of my handwritten notes for Ayelet. As my handwriting goes, this is a pretty good example.

One of my handwritten notes for Ayelet. As my handwriting goes, this is a pretty good example.

I’m sure these “suggestions” are what she has heard from me and her mother and her teachers about showing good work, and she was echoing it back to me. Here I was at the age of 38, back in an elementary school, with someone criticizing my handwriting.

Ayelet is already learning handwriting, but I suspect that her reliance on it will be even less than mine. I doubt she’ll ever learn cursive, and iPads are already at use in the classroom.

Handwriting seems to be headed down the path of other lost skills, like memorizing phone numbers or reading maps.

With my poor handwriting, that’s probably a good thing.

Posted in Uncategorized | Tagged , , , | 6 Comments

Today’s Legos have too many specialty pieces, and how I’m fixing it for my own kids

Like many parents, I want my kids to experience some of the memories I cherish most from my own childhood, and this means having a great Lego collection in the house.

I spent thousands of hours as a kid building with Legos, and over the years I built all kinds of things  - planes, trucks, castles, spaceships – wherever my imagination could carry me. Over the past year, my kids have gotten old enough to start building with Legos, and I’ve purchases several sets to try to engage them, with some success.

Legos have evolved a bit since I was a kid, and I can’t help but feel they have lost some of the creativity. I remember that my Lego sets of my childhood came with instructions on how to build the object on the cover, but that was just the beginning. Sometimes I would follow them, and sometimes not. Before long the pieces were just mixed in with the ones from all the rest of the sets and were used for my own creations.

Today’s kits are different. They are much more focused on building a particular vehicle or structure, without much of an eye towards reuse. They seem to consist mostly of “specialty pieces” – windows, cranks, wheels, seats, brooms, and other accoutrements designed to make the vehicles more lifelike. They don’t come with that many generic bricks. If all you have are the pieces of a fire truck and a garbage truck, it’s hard to build anything else other than some sort of truck.

When I was at home visiting my parents for a few days this past summer, I pulled out my old Lego set (the one toy from my childhood my parents saved) and played with my three-year-old son. I was immediately struck by the difference. While there were plenty of specialty pieces, there were tons and tons of red bricks in various shapes and sizes. We were able to build a much bigger, sturdier moon rover that had some real “oomph”.  My son could actually play with it.

I wanted to recreate this at home, so I went to E-Bay to see if I could buy random lego pieces.  Sure enough, there is a reseller called BlockPartyBricks, selling bags of Legos by lot.  For $25, I bought a bag of 300 pieces.

All these pieces certainly added volume and helped tremendously, but they didn’t really solve the problem. The vast majority of the pieces inside were “specialty pieces”. Having greater variety helped, but we still couldn’t build bigger objects. Worse, most of the pieces were mismatched – there would be two airplane wings for the “right side”, but none for the “left side”.

Last weekend, I decided to fix the problem. While my wife and kids shopped at the mall for new fleeces, I snuck into the Lego store and made my way to the back wall. I’d heard rumors that Lego stores had a pick your own section, and sure enough it was real.  Separated by size and color were small bins of various utility pieces.

At the back of the Lego store are pick-you-own bins

At the back of the Lego store are pick-you-own bins

For $14.99, you could take a cup the size of a big-gulp and fill it with assorted lego pieces. I grabbed two of them and started scooping handfuls of blocks. While they did have specialty pieces, I chose just the ones that would be useful for building bigger structures: (1×2, 1×4, 1×6, 2×2, 2×3, 2×4).

The sizes are useful, but you have to go with whatever colors are available

The sizes are useful, but you have to go with whatever colors are available

As a kid, lego bricks seemed to come mostly in red, but color is now required. 1×6 only came in yellow, 1×4 was just gray, pink or orange…. I was forced to adopt a wider variety of colors, including yellow, orange, pink, gray, and blue.

Once I had filled up two buckets, I also grabbed two large flat square boards to build on for $4.99 each. After shelling out $40, I rejoined my family.

The kids loved the new legos.  Initially, we started by using nothing but the bricks to build structures. Then, they let their imagination run wild as we mixed in the rest of the “specialty pieces” from our regular set. For the first time, they didn’t try to build a particular car or truck. They could build big.

My daughter had enough pieces to build a dock for her Lego Friends to board a boat

My daughter had enough pieces to build a dock for her Lego Friends to board a boat

My five-year-old daughter built a ferry boat dock and ferry so that her Lego Friends characters could go on a trip.

My son built a multi-room house

My son built a multi-room house (with a little help)

My son needed some guidance, but he soon got very into building a large house with multiple rooms.

A fire engine ladder becomes a boarding ramp to a larger building

A fire engine ladder becomes a boarding ramp to a larger building

Then, they put their sets together. My son’s building became the island destination that my daughter’s Lego Friends were visiting. After boarding the boat at her dock, they sailed over to his house and used the ladder (co-opted from an old fire truck set) as the ramp to disembark.

These sets are a little more colorful than the ones I built as a kid, but at least now I feel like I am giving my kids the opportunity to use their imagination.

Posted in Uncategorized | Tagged , , , , | 1 Comment