Thursday, February 28, 2013

Losing Weight With Easy Calorie Counter: Part 1

Introduction

I've been developing and using my app Easy Calorie Counter (available for Windows and Mac) for about a year now and using it in conjunction with running and exercise to lose weight.  You can see a screenshot of it below:


I'm male, 34 years old, 5'8", and I brew my own beer which makes it particularly easy to go overboard on calories if I'm not careful.

In the Summer and Fall of 2012 I managed to lose 13 lbs, moving from 165 lbs. to 152 lbs, and have kept the weight off since then.  I've learned a lot about what works so I'll be posting a series of tips for others who might be struggling.

Tracking your calories is the key.  During my first cycle of P90X I actually gained weight, going from 162 to 165 over a period of three months.  I was so hungry from all the extra exercise that I ate a lot of high calorie foods, and I didn't track what I ate.

You don't have to use Easy Calorie Counter for this to work, but it's only a few dollars and there's a free demo available here.  You could even start tracking what you eat with pen and paper, that's what I did and what prompted me to write the app in the first place.

Tip #1 - Finding your target calorie level

Losing weight is all about math.  The bottom line is that you have to burn more calories than you take in and your body will do the rest.  Easy Calorie Counter has a built in calculator to help you find your target fat loss calorie level.  Here's a screenshot:

Here you can see I've selected Lightly Active.  I work at a computer all day but I exercise every day of the week, which would probably make me Moderately Active.  

I think that this calculator, which uses either of two respected formulas for calculating fat loss calories, gives results that are a bit on the high side.  My sweet spot seems to be 1600 calories per day.  With that amount I tend to lose a little bit more than 1 pound per week.  But everyone is different, and a computer can never give a perfect number for something like this, so here is how to find your real fat loss calorie level:
  1. Run the calculator to get an estimate of your fat loss calories
  2. Weigh yourself on an empty stomach (try it right after you wake up and use the bathroom)
  3. Use a calorie calculator to eat as close to your target calories as you can for 1 week
  4. At the end of the week, weigh yourself again on an empty stomach. Did you:
  • Maintain your weight?  Consume 500 fewer calories per day and repeat step one
  • Gain weight?  Consume 500 fewer calories per day and repeat step one
  • Lose 1-2 pounds? Perfect!  Maintain to reach your target weight!
  • Lose 3 or more pounds?  Consume 300 more calories per day and repeat step one*
*People who are heavier are likely to lose 3+ pounds per week, which is ok

Repeat those steps until you find your real number for fat loss calories that causes you to lose 1-2 pounds per week.  It might take a few weeks, it took me 2 or 3, but once you know that number you'll be armed with all the information you need to really lose weight and keep it off.

In the next installment I'm going to show some examples of ways to shave off calories without being hungry all the time.  There are some nice substitutions you can make in your diet that make it easy.  You might even still have room for a beer if you're careful!

Getting my apps on the Windows Store requires... a Mac?!


It seems that Microsoft is intent on turning me against them.

First, they don't allow my Desktop Apps to be truly listed on the Windows Store.  They link to my app's external website instead.  Not that there's anything wrong with the homepage for Easy Password Storage, the app I'm trying to register, but I wish customers could use the payment information they have already entered into the Windows Store and directly rate my app.  Apparently that is only possible with Metro style* apps, despite the fact that my apps run great on everything from Windows XP to Windows 8.

Next, in order to get my app certified I have to have a $99 signing certificate from Symantec and only Symantec will do.  What's wrong with my industry standard Comodo certificate which have already paid for and jumped through many hoops to obtain? My guess is nothing...

So, eventually, I received my Symantec wonder-certificate and my MS developer account and had my Windows App Certification Kit software installed.  When I ran it I was informed that reports generated with Remote Desktop were invalid for some reason that is not made clear.

Luckily, I managed to find a workaround which allows me to connect remotely and still certify my apps, essentially proving that either Remote Desktop is a crappy application or there is no reason to refuse a Remote Desktop application when certifying apps.

I finally ran the certification kit, got a result of "Passed", and was ready to submit my app!  Hooray!

Not so fast!  When I uploaded my certification XML file to the Windows App Certification page, I was informed that:

* The submission package is invalid as this was generated using an invalid toolset architecture. This website accepts submissions from 64 bit toolset architecture only.

Ok, no problem, I purchased Windows 7 a few years ago and my current hardware supports 64 bit architecture: I'll just upgrade to a 64-bit version, right?  Wrong.  You can't update Windows from 32 bit to 64 bit without wiping your machine, reinstalling all your software and restoring all of your backed up files.  It's possible but risky, not to mention a huge waste of my time.

So what is my solution?  Use my Mac.

I'm currently installing a copy of my Windows 7 64 bit using VirtualBox on my Macbook Pro.

Then I can use my virtual copy of Windows on my Mac to complete the Windows App Certification.

Ah, the irony.

*I know Microsoft has tried to ditch the name "Metro" but it's burned in my brain and I like to tease them with it.

How to use the Windows App Certification Kit through Remote Desktop

In the past few years I've become a Mac lover dispite decades of Windows use. I work primarily on my Macbook Pro and have disassembled my old home office in favor of an all-mac, all wireless environment.

About a year ago I moved my Windows XP and Windows 7 machines into the "server room" where they run without monitors, keyboards or mice.  I use Remote Desktop from my Macbook to connect to them so now I can work from anywhere in the house or on the patio wirelessly.

Recently I decided to get my RebrandSoftware.com apps listed on the Windows Store.  This week I've been paying a lot of attention to Easy Password Storage, one of my most highly rated apps on the Mac App Store, and the fone I want to get posted on the Windows Store first.  To get it approved I have to run the Windows App Certification Kit.  It installs my app, checks that all the files have a digital signature, runs diagnostics and gives a report which can be uploaded to Microsoft.

There's one hitch, though: Remote Desktop is not allowed!  I assume it has something to do with video benchmarks, but it's a major annoyance for me.  Surely there is someone else in this situation, which is why I decided to write about it.

Imagine my surprise when I found out that to get my app certified I would need to get a monitor, keyboard and mouse, hook them into my old Windows box and sit on the floor next to a cat litter box.  Yes, it's true, the "server room" is really a closet where cats poop all day.  That is the extent of my disdain for those old windows boxes.

If you try to certify your app over Remote Desktop your app is immediately rejected.  I gathered my old monitor, keyboard and mouse but could not find a cord for my monitor.  After two years of almost all wireless the ordeal seemed particularly archaic.  Shouldn't I be able to stream an HD version of my monitor?  I can stream HD movies from Netflix... Why would app certification require a physical monitor?

It turns out my distress was for naught because I have found a simple workaround: as of this writing the Windows App Certification Kit doesn't realize the connections using LogMeIn.com are remote desktop connections.  The workaround will probably work with other remote login services as well but I have only tested with LogMeIn.com.

The results: Passed with Warnings.  Here's a screenshot:

The warnings are unrelated to using a Remote Desktop agent: it says my app didn't properly respond to system restart notifications.  I think it's safe to ignore, but it could certainly be the topic of a future blog rant.

The real victory: I won't have to endure the "server room" any time soon!

Thursday, February 21, 2013

Tips for external links and social media within apps

I've been trying to link to social media sites within all of my apps.  Within each app you can do the following things:

-Click to Rate (this either brings you to our website's rate page, or the Mac App Store)
-Click to Tweet (composes an example tweet that links to the proper app)
-Click to Follow (launches my twitter page)
-Click to Like (launches the appropriate facebook page for the app)
-Click to Friend (launches my facebook page to friend or follow)

If you click any of the links above you'll see that they're not actually linking to Facebook or Twitter, but to my own website, RebrandSoftware.com.  From there, a page on my website redirects to the actual Facebook or Twitter page.

I never know if/when I might have to change my Facebook URL or my Twitter handle.  This way, all my apps are pointing to a page on my website instead of directly to Facebook or Twitter. I can change that page to redirect to a new URL at any time.

I will never have to change the URLs within my apps again.  If my Facebook or Twitter URLs change I can update the pages on my website, instead of rebuilding and redistributing all of my apps.  Even customers using old versions will be brought to the correct URL without having to update first.

I think this lesson applies to any time you're linking to an outside source: keep control of the links by sending them through your own server first to redirect to the proper URL.  It's also a handy memory tool:

http://www.rebrandsoftware.com/follow.asp
is much easier to remember than
https://twitter.com/intent/follow?screen_name=MikeKGibson