Archive for April, 2016

April 29, 2016

Electrical Fixes

It suddenly dawned on me that in a few weeks we’ll have been in our new home a full year. After the electrician ended up not being nearly as expensive as I feared, we decided to hire him back and fix a few more issues for us.

Most critical was the fire alarms. Shortly after moving in the fire alarm above the stair case went off in the middle of the night, thoroughly freaking out Nicole. A fresh pair of batteries and it would still occasionally chirp, reigniting Nicole’s fears each time. The alarm was probably past it’s prime and needed to be replaced. The alarms in our home are interconnected, so the simplest solution was to purchase the same brand as the faulty alarm and just switch out the alarm leaving the harness in tact. But I couldn’t find a replacement. It turns out the manufacturer of the fault alarm had gone out of business ten years ago. (The National Fire Protection Association recommends replacing fire alarms every ten years.) All five of the fire alarms we had in our home from that manufacturer were likely past their prime. Not only would the harnesses need to be replaced, but it would need to be re-wired.

State law requires a fire alarm in each bedroom and in the nearby vicinity outside the bedrooms. With the layout of our home, that means four fire alarms (including the faulty one) within 6 feet of each other. Two of which looked brand new, the others needed to be replaced but still appeared to be functional. I didn’t see much harm in leaving this one disconnected this past year. The problem arises should we ever decide to sell the house. Besides, those other old fire alarms felt like a ticking time bomb. They were functional now, but how long until age caused them to go off randomly in the middle of the night?

Original office ceiling fan, most definitely not my style

The second issue we had was the ceiling fans. The ceiling fan in the office was original to the house, and the light could no longer be turned on. It was a minor annoyance since we could use a lamp. The previous occupant of Alexis’ room had held a broom up to the fan, damaging one of the blades. Although it was still fully functional, the damaged fans was one of the eye sores I noted when I first toured the house. Fixing it would drastically increase the visual appeal of the room.

Much more my style, and – bonus! – it works!

The electrician has been recommending we switch out our lighting fixtures to more energy efficient ones. It’s an appealing idea. The LEDs require less energy and create a whiter light better for photography. I’d love to get those eyelights I’ve been wanting, and a more modern chandelier in the dinning room would be nice. That’s the problem with home improvements. There’s always something else that can be improved upon.

For now I’m moving on from the electrical improvements. Alexis’ room is still purple, except for one two foot splash of cream from when I thought I’d try out a new color. From July. I should probably actually, you know, paint.

April 22, 2016

The Great Plant Uprising

I never had any kind of allergies…
… until I moved to California. The first summer I moved out here if I laughed too deeply, or caught a glimpse of the sun at the wrong angle, my eyes would water and burn. There were many crying Sarah jokes that year.

I never had allergy rashes…
… until I became pregnant for the first time. My calves, knees and arms used to explored in large raised red blotches that itched like crazy. I’m allergic to pregnancy, I’d jest. My eyes still burned on occasion.

I never had bad allergies…
… until I moved back to the suburbs. This time my allergies manifested them self as congestion in my chest. I thought I had the onset of a mild cold, until it lasted for weeks, and I’d awaken from sleep daily with coughing fits.

I’m the kind of person who typically avoids medication. I credit my reluctance to take medication as part of the reason why I can often control my migraines with just Advil. Perhaps that’s true, or perhaps it’s observational bias. I don’t think of myself as a person with allergies because for most of my life I’ve never had them. It took a persistent cough and a call to the doctor before I decided to give over the counter allergy medication a try. Sure enough, about a week later my lingering cough had subsided enough that it would no longer wake me in the middle of the night, just as the doctor predicted.

Plants be evil.

So now in the long list of reasons why this move has been good for us (less commute time, less crowded, better schools, more places to take the kids) is one negative (more pollen). That’s a worth while trade off to me. I’ll just have to resign myself to the fact that I’ll need daily allergy medicine in the summer.

April 17, 2016

Not that Bad

I’ve been told I share a lot on social media. Every time someone makes a comment about how photographed my kids are a little voice inside my head shouts “I’m not that bad!” but truth be told, I’m hard pressed to think of people in my social circle who post more. So when I was rocking a sick child this afternoon and came across a marketwatch article which cited the actual average amount of sharing I was immediately curious how I compared.

The average parent will post almost 1,000 [specifically 973] photos of their child online before he/she turns five

The study is not exactly scientific, so I had to create my own methodology. The original study stated on average children were “feature” in 973 photos posted by their parents on social media before the age of five. Not knowing how they defined “featured” I decided to count every photo each child was in, including just fingers and toes. I also decided to count frames, individual shutter actions, not images. That means counting each photo in a collage individually. Near duplicates were included since they’re technically different photos. Exact duplicates, such as reposting the same image, or different post processings of the same photo, were not. I’m counting photos, not shares, after all. Almost no one posts photos of the girls besides myself, so for simplicity, I’m not counting those.

Unique Photos Shared on Each Platform (Nicole /Alexis):
Facebook: (337 / 77)
Instagram: (128 / 29)
Blog: (360 / 77) – And, man, this post did not help my count!

(Normally I double check my numbers, but this time I opted not to. I like math, but counting is rather boring.)

Removing the duplicates cross platform and I’ve only shared 364 of Nicole, and 141 of Alexis. We would expect the average person (according to the above study) to have posted 729.75 by the time the child was 45 months old (like Nicole) and 259.5 by the time the child was 16 months old (like Alexis). My posting rate is roughly half of the average. See – I’m not that bad!

Of course, you can’t really draw too much of a conclusion from the study, one way or the other. The methodology is unclear, it relies on self reporting which is notoriously unreliable, and it has a sampling issue. Besides, if you’re measuring how exposed our children are, number of photographs is a bit of a flawed metric. Is 1000 photographs taken at a single event really more exposed than 500 photographs taken on 500 different days? If I’m being honest, I think that’s why my number is lower than someone who knows me might expect.

In my effort to only showcase my best photographic work, I limit myself to no more than three photos per post, and only a few posts with photos a month. On facebook I have just two to four photo albums a year, including a yearly highlights album where I again limit myself to an average of two or three photos per month. I may not share a lot of photos in any one instance, but there’s a nearly constant stream of photos in my feed. Because I post fewer photos per iteration, but more iterations, it probably appears like I’m sharing more than I actually am.

On a side note, I still maintain some of this fear over social media sharing is blown way out of proportion. There are legitimate cases of detrimental over sharing, obviously. Re-punishing a child to capture a photo of ensuing tantrum is cruel (and hopefully just a one time lapse in judgement from that parent in the article). I also think the concern over the number of over-sharers may also be overly done. If one over-sharer has hundreds of friends, then hundreds of people know at least one over-sharer. The fact that those hundreds of people know an over-sharer doesn’t necessarily imply there are hundreds of over-sharers.

April 14, 2016

Shifting Schedules

My hours have been creeping up for some time now, and I find I’ve been working a bit more feverishly than before. I’m not a big believer in the cult of busy. I don’t take pride in being busy, I take pride in accomplishments. Those two things are often treated as synonyms but they’re far from. So when I found myself trying to sneak a few minutes of coding in while home with the girls on the weekend I decided it was time to step back and see what I could do to increase productivity while decreasing hours.

Between 11:30 and 1 is the least productive time to get anything done. It seems like everyone in the world is using their lunch hour to make a quick change on our shared hosting server and the ftp service slows to a crawl. It can take minutes to push a single change, and sometimes the ftp server times out completely. I’ve been designated this hour “me time.” In that time I complete some subset of eating lunch, showering, exercising and napping. (Yes, sadly I often need a nap.)

Mondays have become “project”/”homemaker” Mondays.

My stress level is weakly correlated to the organizational status of the house. If I’m already stressed out a messy house through me into over drive. If I spend a little time on Monday putting the house back together after the weekend than I get the week to enjoy the fruits of my labor. I feel I should put an asterisk next to “back together” because it’s never truly organized like I’d like. At least I’m making an effort?

I try to tackle at least one project each Monday. These are the tasks I expect to only need to tackle once, like put the valances back up. I think the previous homeowner was in the middle of replacing the standard valances that came with her blinds with fancy ones when she put her house on the market. The valance in the kitchen is of the custom variety. The problem is the windows in the living room looked unfinished without their valances. Fortunately for me she left the old valances in the garage, but the clips were missing. A quick order on Amazon and fifteen minutes of effort and now the widows look much nicer. I’m making a list of similar projects. Hopefully this place will start looking more together soon.

Mondays are now more of a half work day for me, but I make the time up in the evening after the kids go to bed.

Speaking of the kids, we’ve shifted their schedules too. We used to do red-sauce (spaghetti, ravioli, etc) Mondays, and hair washing every Monday, Wednesday and Friday. Mondays have gotten harder. Between the two kids at least one child is either over stimulated or over tired by the end of their first day back to school. Mondays are now toddler favorite foods (fish sticks, simple roasted chicken), and we do Shampoo Tuesdays and Fridays. We’ve also shifted our fish dinner from Sunday to Saturday. By Sunday evening everyone is usually a bit drained, have a little less energy to cook and a little less patience to wait for dinner to be ready. Besides, Sunday makes for a better occasional restaurant day than Saturday as it’s less crowded.

It’s funny sometimes how even small changes to the schedule can make everything run more smoothly.

After last months testing frustrations I wrote a simple deploy script for my javascript files. Now I can work on a shared library and the changes won’t be viewable to all the apps until I’m ready to push it.

About a decade ago, when I had half a dozen active websites, I created an admin panel that spanned all my domains. It was designed more for monitoring the health of my domain network, more than for making changes to it. I wrote a simple plug-in system for smoke tests that tested the functionality of each individual domain, as well as the shared libraries between them. Smoke tests are small, often isolated tests design to test specific functionality. The idea is to detect smoke, which could indicate fire.

When I first started serious development on I wrote a new admin panel, but it was very basic, and many of the features where hard coded. At the time I needed something that could be stood up quickly so I could get back to writing new apps. Rapid development has been my approach this past year. I don’t get paid from an app until it launches and gets eyeballs, and it doesn’t get eyeballs until the search engines have a chance to find it and add it to their indexes. The first pass can be quick and dirty. Phase two is clean the code. Three is bells and whistles.

Now that my app library has grown considerably, it was time to iterate. I’m back to the plugin admin panel design. The admin panel also handles the deployment of the shared libraries, and auto generates some code. I can now also easily write tests that let me see how users are using each app. For example, I now know the media average time someone uses my labor predictor is 15 days before their due date. I also know that a non trivial group of users use the app well before their due date. That realization lead me to add a link from the labor predictor to the miscarriage reassurer. Data driven is my favorite way to be. The only thing it doesn’t have? Smoke tests. That’s the next task on my todo list.

This past week we needed the services of both an electrician and a plumber, and somehow managed to escape the week only $200 lighter.

Having a lemon tree has been one of the unexpected pleasant surprises of our house. I am forever spoiled with homemade lemonade.

It feels like we’re spending a ton of money on our non-fixer up home. I need to keep reminding myself that all these little things are to be expected. Or rather the number of them is not unexpected, even if each individual one might be unexpected. We’ve been lucky that so far each of the issues haven’t been too expensive, with one notable exception.

I’m the kind of person whose comforted by numbers. To keep from going completely insane I’ve been keeping a list of our home repair costs. By estimating the closing costs I can then calculated out the sale price we’d need in order to break even. That may seem a bit obsessive. I promise dwelling on them really does ease my anxieties, even if it appears otherwise to the outside world.

In my spreadsheet I’ve actually calculated out several sale prices: (1) what we’d need to break even just including repairs, (2) what we need to break even including estimated closing costs, (3) what we need to break even including all additional costs that come with owning over renting including monthly maintenance and taxes, and (4) number 3 with closing costs factored in.

Obsessive, relaxing. Tomatoe, Tomato.

It may seem like we’re spending a lot, but we’ll likely make it back again when we sell the house. According to both Zillow and Redfin, our home has risen enough in value to meet the first milestone. They disagree about the second one, and both don’t think we’ve reached the third. I guess the advantage of a high cost of living area is that small percentage change in property values translates to pretty large numbers.

I know moving was a good financial decision, but “knowing” isn’t really knowing without hard numbers.

Since we’re not planning on cashing in on the increased equity any time soon, I’ll just try to focus on the unexpected positives in our property – like our lemon tree – with a fresh glass of lemonade.

Since starting my own business I’ve been operating under the “build it and they will come” mentality. I’ve built, but few have come.

Analyzing my traffic from 2016 so far, I see that only 4.7% of my visitors are coming for only the new apps, whereas 6.9% of my visitors to my existing apps have tried some of the new ones. The new apps are in different genres, and it’s necessarily true that a visitor to one app is predisposed to like another app. Something seemed off about my adoption rate. Why wasn’t I attracting more users interested in those new apps in new genres? I’ve been stunned that even after months some of my new apps have had near zero adoption rates. This week I set off to figure out why.

It didn’t take me long to zero in on a possible culprit. My search results are awful.

Remember how I noticed my visitors seemed to prefer the old version of my labor predictor? I was making that assumption based on the number of visits to the url for the new version, and the url for the old (same as the new but with the parameter ‘type=old’ appended to the end of the URL). Take a look at the search results and see if you notice a difference in snippets.

laborsearchresult(Click to enlarge)

None of my snippets for any of my webapps were good by my estimation, but this is about as bad as I get. That first snippet is an enumeration of the values on the graph axes.

For the most part I have been ignoring meta tags under the assumption that google ignores meta tags. (That was internet common knowledge back in the mid 2000s.) These days Google uses them as a suggestion. They treat titles as suggestions too, which is a bit annoying. Enumerating my pages I see Google hasn’t exactly been consistent with how it wants to display my titles. Personally, I’d prefer consistency without the ‘- Sarah K Tyler’.

This week I decided to see if I couldn’t help Google come up with better descriptions at least. It gets a little complicated because google tries to write good snippets that match the query, not just the web page. To make my job simpler, I decided to focus on the case when someone issues a query for the name of my apps, like “labor probability calculator” above.

For a first pass I decided to use the descriptions on my app list page for descriptions. That mostly bombed. Some of my descriptions were kept, but most were ignored. My best guess is that google didn’t feel my description was any good. They may have thought I was keyword stuffing. My webapps are generally lacking in large blocks of text, and what little text there is often appears below the fold as I want my app front and center. Without much text on page to compare the description against, it might have appeared like the description wasn’t a good fit.

To eliminating the mismatching problem, I decided to text of work the meta tag descriptions into the “about” divs for each App. It’s not keyword stuffing if those words are actually being used! My success rate improved somewhat. Google was now convinced to use the “about” div, and not, say, the axes on the graph, when generating snippets, but it still wasn’t using my descriptions for the most part. Instead it was grabbing the first couple of sentences in the paragraph. Trouble is, some of those first sentences in the “about” paragraphs are motivational rather than descriptional. Google was also wasting space on unnecessary words like “About the Labor Predictor.” That’s nearly 20% of my allotted snippet space!

The apps that still have terrible descriptions:
* Baby Name Explorer (showing the title of the table, and not the description)
* Name Uniqueness Analyzer (showing part of the faq, and not the description)
* Passive Voice Detector (describing the highlighting, and not the description)
* Miscarriage Odds Reassurer (describing motivation, and not the description)
* Accelerated Debt Repayment Calculator (part of the table, and not the description)

At least that list is down from 20!

When we were halfway through March I was sure the theme of this post was going to be “a lot of effort for no progress.” After 14 days I had earned just $6.44, a rate of just 54 cents a day. I was loosing ground, and self sufficiency seemed to be slipping further and further away. Having sporadic thoughts of throwing in the towel is normal for me, but this time I started telling close friends and family I was thinking of giving up. The next 17 days? $19.50. My per day average over the entire month was 84 cents, and the last two weeks were well above the dollar a day metric. I predict I’ll reach my dollar a day target for the entire month of April.

The feast or famine of starting your own business can really take you for a ride.

This month I developed five new apps:

Time Until. Time Until is a count down app that lets you choose how you want to count down: week days, business hours, only the hours between 2 and 6 pm on Tuesdays. Whatever you want to count, it can count. I designed it after reading a study that couching time in smaller increments (hours vs days, days vs years, etc) can increase productivity. Since I work odd hours, I thought it would help me stay focused and accomplish my monthly goals. Only 207 hours left until my next progress and income report.

Color EyeQ. While working on one of my photography apps I realized I struggle with determining how the hue’s and saturation levels differ between photograph of different subjects. I thought it would be fun to test my ability to see color differences, and make a game out of it. Color EyeQ gives you a report card so you can see how well you did.

Business Scale Up. Business Scale Up is another motivational tool that shows you how adjusting different variables can scale your business. I discovered that I don’t have to scale up my user base as high as I initially thought I did before seeing some real revenue.

Nickname Finder. A simple app that lets you search proper names for nick names, and to find out what proper names a give name could be a nick name for.

Loan Comparator – Lets you put several loans side by side so you can see which one is the right one for you. I like to think of my apps as intuition busting. The Loan Comparator showed me that sometimes the best loan is not necessarily the loan with the lowest interest rate, and that term length plays a big role in determining how much interest you’ll pay over time.

I now have enough data from my adblocking detection script to determine that about 12% of my webtraffic uses a blocker. The vast majority of those adblockers (97%) work the same way; preventing the adsense javascript from downloading. A super simple work around would be to pre-fetch the content of the javascript, and embed it directly into the apps.

Twelve percent of my traffic using an adblock isn’t great, but it’s also not horrible. For now I’m focusing on other things, like growth!