Archive for the ‘Commentary’ Category

Catching the Technology Train, After I’d Disembarked

12 Jun

Staying away from programming for too long, things change faster than I’d ever expected. Even with a strong foundation, when things move ahead so quickly, too many things change and it isn’t as easy to hop back on the train, as I would have thought. Today, I am trying to catch up with technology train that is web development. How did I become so disconnected?

  1. My initial disinterest was that I wasn’t very interested. With web “development,” writing text-markup was not “programming” (it still isn’t). It has taken a couple of decades for web-programming to require the skills of true developers. But it is here, today. In the mean time, I’d left it behind and as a result, it left me behind.
  2. When I recently started looking at getting into web-development, the landscape was changing and evolving so quickly that it was hard to pin down which of the dozens of technologies to focus on. If I’d picked Perl, ColdFusion, Ruby, AngularJS, etc.… ”the list is endless” I’d be an expert in another obsolete technology. However, avoiding a pick, meant that I did not get my hands dirty and did not stay keen about the evolving landscape of web-development.
  3. What I never expected is that it isn’t just the languages and frameworks which have changed, it is also the technology infrastructure which has changed and, notably, this has changed development workflow.

The result is that, not only do I need to learn new languages and their nuances, I even need to learn a new workflow, a new way of doing programming. While I am not starting from scratch, a lot of my prior “expertise” is not directly applicable; so it feels like starting from scratch.

I could just stick to the old technologies that I am still expert at, but that isn’t cutting edge. Still I could do that. Then I wouldn’t have anything to be stressed about. And, that wouldn’t be so bad, now would it?


Crushed Under the Tower of Software-Babble

02 May

BNF Syntax diagrams

I think my brain cells are shrinking—it is unbelievable how quickly I forget. Such is the life of a software developer, these days.It is amazing how quickly I can forget the details of one programming language detail over another after just a few weeks away—when I see my old code, I amaze myself at how good a programmer I was… last month! Read the rest of this entry »


I Just Want to Submit a Frickin’ iPhone App to the App Store! (Part 3)

28 Jul

Way back in in “I Just Want to Create a Frickin’ iPhone App! (Part 1),” I walked you through the logistics of joining the developer program (no, you didn’t miss “Part 2,” I have not written it yet). Fast-forward a couple of months and it’s time to submit to the app store! For a company that has built a reputation on simplicity, Apple has concocted an arcane process and made it worse by not providing any complete nor accurate information to help with the application submission process.  Apple’s minimalistic approach is of no help… you often feel like your flying blind as you try to make your way through the process. I’ll try to give some heads-up and clarity if you, too, are going through this for the first time.

So, let’s hope I can remember all that I went through.

  1. Create specific App ID: iOS Provisioning Portal →App IDs →New App ID.  (Note: you cannot delete App IDs once they are created).
    1. Enter a name for this application. This is just for reference; it will not appear to a user.
    2. Select the “Bundle Seed ID”. Normally you will want to select the one that was assigned to you, in the drop down.
    3. Define the App ID Suffix.  This has to match the ID that is bound into the application, so you will probably want to copy the one assigned to the application you’ve been building, lest it be recognized as an entirely new application. This is not critical, but if you have beta testers and you change the App ID, the next update will not overwrite the older version of the app, they will have to delete the old one, explicitly.To find (or change) the current Bundle identifier in Xcode 4.x, select the Target of the project. The Summary tab shows the Bundle identifier in the “Identifier” field; or, in the “Info” tab, it shown as “Bundle identifier”. Of course, these settings come from the project’s .plist file, so you can access its “CFBundleIdentifier” (aka “Bundle identifier”) explicitly. The value in the app should be the reverse domain name, for example, “com.handthingsdown.htdmobile”; do not prefix the “Bundle Seed ID” to the bundle identifier in the app.
    4. This value should match the Bundle Identifier field when creating a new App ID. As noted in the “How To” tab, you can use wildcards for this value; however, a fully qualified ID is necessary to utilize the various services (e.g., Push Notification, Game Center, iCloud).
  2. Create an App Store provisioning file:  iOS Provisioning Portal →Provisioning →Distribution →New Profile.
    1. Be sure the “Distribution Method” is set to “App Store”.
    2. Select the App ID from the previous step to associate with your application.
    3. You wont have to — or be able to — select devices to include, as you would for ad hoc provisioning.
  3. Once the profile has been created, download and add it to your Xcode profiles.
  4. Create an archive build of your application, build for release and utilizing the App Store provisioning profile.
    1. If you haven’t already, you may want to duplicate the Release build-configuration to “Distribution App Store” (making sure that the target is not selected go to Xcode’s menu: Editor →Add Configuration →Duplicate “Release” Configuration.
    2. In the project’s target’s go to Build Settings →Code Signing →Code Signing Identity.  Below the build configuration you will use to build the Archive, set the “Any iOS SDK” setting to the provisioning profile you created for distribution to the App Store. (For the build configuration itself, I selected “Don’t Code Sign”; but I do not know if that matters).
    3. Modify build scheme’s Archive to use the build configuration you configured and build the Archive.
    4. From the Organizer’s Archive view, select and “Validate…” the binary. This performs (only) some tests of the module before uploading.
    5. We will jump away from Xcode for a moment….
  5. So you thought you were done signing up with programs with Apple? First an Apple ID, then the Developer Center, then an iOS Developer, and now iTunes Connect, Go to a web page and set up an account. This is where you will manage the applications that you submit to the App Store.
  6. Once your account is created, go to “Manage Your Apps” and select “Add New App”.
  7. Fill in the app name, SKU, and select a Bundle ID. Note that none of these settings can be changed once the app has been accepted by Apple.
  8. Click the “Ready to Upload Binary” button to start the process. The upload does not occur via the web page.
  9. Go back to Xcode. Since the Archive was just built, the Organizer window should be open with the Archive view shown. Be sure the correct Archive is selected (at the top of the list).
  10. Upload your application to Apple. There is the new, complicated way (which I used) and an old simpler way, that should still work—so I hear. So, back to Xcode…
    1. First, the old, simple way.  Ignore the messages on the iTunes Connect web page about the Application Loader. From Xcode’s Organizer window’s Archive’s view, click the “Submit…” button. That’s it!
    2. Now the difficult way:
      1. Click the “Share…” button. to build “iOS App Store Package”
      2. Select App Store certificate
      3. Open Application Loader and follow its steps to upload the .ipa file that was created in Xcode.
  11. Once the module has been submitted, there are additional automated checks that take place. So, wait an hour or so and check back at the iTunes Connect page. The status should change, if the module was accepted. If not, check your email to see what kind of errors may have occurred.
  12. If it passed the automated checks, you can now wait nervously for actual humans to vette the application. Expect this to take a full week.
Good Luck! Let me know what your experiences are.


Enhanced by Zemanta

Why We Switched to Facebook Comments

20 Jun

90% of visitors to online communities are lurkersEvery couple of weeks we participate in a Founder Institute master class to continue discussions and keep forward momentum for our startup. The subject for the last call was user acquisition. We went over the various tactics on how to drive engagement through social media channels like Facebook fan pages, Twitter, Quora, Youtube, and commenting on blogs related to our business. Each startup participates in a different mix of social outlets, it really depends on where the customers for your company hangout, a business to business (B2B) company may not require a YouTube or Facebook presence. B2B startups may spend more time on Linkedin discussions or Quora answering questions and establishing themselves as subject matter experts in an area related to their product offering.

Driving Awareness on Facebook

After the call, it was clear we needed to switch from using the Disqus commenting system to Facebook comments. Migration will be easy since we are fairly new and we haven’t received many comments using Disqus. While no one wants to be dependent on Facebook for all of the social aspects of their web properties, this is a case where it made sense for us to move to Facebook comments. Moms with toddlers who are on Facebook are our launch target and we want to make sure every comment made on the Hand Things Down blog shows up on their walls to further drive engagement with our brand.

Where does your customer hangout online?

On Wednesday night, I was at a Social Media Planning Meeting and Jeff Moriarity said one of the pros for using Disqus is conversation around your brand from all over the web is aggregated in one place. Here are some questions your startup will need to consider; Where does your customer hangout? What do they read? What videos do they watch? Are they more likely to use Facebook or Twitter? You also need to keep in mind that if your target customer is only on Facebook, perhaps Facebook commenting will help them move from being a lurker to an engaged member of your community.

Your company can listen for conversations around the web using a different tool. We are using Google Alerts to listen for any mentions of our brand and actively retweet or push original content on Twitter and our Facebook fan page.

Enhanced by Zemanta

Startup Life

17 Jan
Startup Workspace

Waterfront view from my desk (West Seattle, WA)

Do you ever wonder what your entrepreneur friends do all day? Here’s a typical day in the life of a startup entrepreneur. (Cheryl’s day) I like to include a fitness factor in my day to break away from the computer. I normally go to sleep around 2 or 3 am and found out recently, that this isn’t a sustainable long-term practice. I ended up catching a cold/cough over the weekend which forced me to slow down and catch up on much needed sleep.

January 12, 2011
9 am: Coffee and Cache Crew status  mtg.
10 am: Follow target demographic on Twitter 50/day, respond to @mentions and thank RT, create content or RT articles relevant to busy moms on Hand Things Down
11 am:
Engage with law firm and email decision to other law firms we didn’t hire. Promote the blog of another entrepreneur on Hand Things Down Facebook fan page. Like their fan page.
12 pm Hit the gym – spin class today
1 pm: Split lunch with Bill and catch up on email via the phone during lunch.
2 pm: Shower and get ready for afternoon meetings.
2:30 pm: Work on founder homework
4 pm: Brainstorm blog posts
5 pm: Napped for 20 mins to try to get rid of migraine
6 pm: Drive to Meetup
6:30 – 8 pm:
WordPress Meetup – Seattle to learn how to drive more traffic to the Hand Things Down website using SEO techniques.
8 pm: Skype call for Founder Intitute working group
9 pm: Drive home then make a sandwich
10 pm: Listen to gamification webcast while working.
10:45 pm – 3:00 am: Continue to cross items off TO DO list.
3:30 am: Eyes closing as I draft this blog post.
As an entrepreneur, what does your typical day look like?

Snowing in Seattle

12 Jan

Cheryl walking around outside the apartment on experiencing her first snowfall in Seattle.


Did You Already Quit on Your New Years Resolution

09 Jan

Create goals instead of resolutions

We are a week into the new year, have you started working on your New Year’s resolution(s)? If you have started working on your New Year’s resolution(s), are you still following it?

Give up making New Year’s resolutions, they never work, join me in my movement. I’m not a quitter, I just don’t see the point in creating a promise at the beginning of the year that you will break within a week or if you are an over achiever, within a few months.

The problem is that most people make grandiose plans to do a 180 in some area of their lives and this never works. Yes, I’m talking to you, so pay attention. The only way to achieve big goals is to decide on a goal then break it down into little bite size activities which can be done either everyday or a few times a week. The cumulative effects of these baby activities will add up over time and bring you a step closer to achieving your grandiose plan.

Business Goals

  • Graduate from the Founder Institute on March 14, 2011 by launching Hand Things Down as a web and mobile app for busy moms to give away or trade the precious things their kids have outgrown.
  • Build a solid startup team.
  • Grow the monthly active users in the Hand Things Down community to over 50k, within 6 months of launching.
  • Generate $250k or better in net income in the first year.

Personal Goals

  • Get in bikini body shape by June 30, 2011
  • Blog everyday

Be Specific & Give Yourself a Deadline

It’s important to know exactly what you want to accomplish by a given deadline because if you don’t know what you want something to look like, how can you develop a plan to accomplish those goals?

Next up
Plan to accomplish business goals.
Plan to accomplish personal goals – will post this to my personal blog.

Image credit:


Web Designers vs Developers

26 Nov

Web Designers vs Web Developers is brought to you by You are welcome to share this infographic with your audience.


the future of applications

13 Apr

no one could anticipate the role that software applications play in the world. starting as isolated applications running on big, expensive metal, then siloed applications running on cheap metal. networking opened up communal demand for interaction with an application, breaking the silo model, somewhat. the internet broadened access to applications and data by the masses. social interaction with applications is the new paradigm. simultaneously, mass adoption of powerful handheld communicating computers arose. today, no application avoid inclusion of social and mobile facets integral to its functionality.

where will this go next?