RSS
 

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
 
 

Getting Press for Your Startup

02 Jun

Getting your startup in the newsWhen we were in the Founder Institute at the beginning of the year, we had weekly milestones for customer development, market research, competitive analysis or product development to keep our business moving forward. The biggest aspiration we had at the time was to graduate. We worked our butts off to polish the pitch deck and get the 0.1 version of the Hand Things Down mobile app done during our last three-week sprint.

We naively thought, once we graduate we can get back to a normal life. Then as you hit each milestone, you take a breath, maybe catch up on a little sleep and start charging towards the next goal. Startups usually go into beta, then start scrambling to get press for their big launch. We were very lucky to receive our first mention in a Mashable article by Jolie O’Dell on the “5 Ambitious Social Good Startups Created in a Single Weekend” while we were busy with the private beta for Hand Things Down.

Before you begin tackling the tactics below to make a splash with your web startup, make sure you create a compelling story to make people want to share what your company’s story with their friends. Then give them a product they can’t live without so they keep telling their friends about it.

Top 7 things you need to do to launch a web startup, according to Robert Scoble on Quora:

  1. Get a LaunchRock site or create a landing page from WordPress using the LaunchPad theme to collect email addresses.
  2. Make a blog.
  3. Make a YouTube video channel.
  4. Start Tweeting.
  5. Get a Facebook Page.
  6. List your company on Angel List (and StartupLi.st, CrunchBase, etc).
  7. Figure out the 10 journalists you want to have seen your product before you launch.
  8. Be lucky…added by me

If you are creating your startup team, the ideal combination is to have one person focused on business and marketing while the other founder focuses on development. My primary focus has been on creating content for the blog, writing guest blog posts on websites that our target customer regularly visits and of course social media. Social media includes tweeting regularly on the company Twitter account, posting questions and content on the Facebook page and commenting on Facebook pages our target customer might read AS THE BUSINESS FACEBOOK PAGE. Do all of these marketing activities even before your company releases the product to build your online brand. Social media marketing takes a long time to gain traction. If you don’t have time to create your blog, create a landing page where you can collect email addresses of interested customers that you can market to when you start your beta.

I added number 8 because luck will play a part in how hard or easy it will be to get your company in the news. Since we participated in Startup Weekend, Founder Institute – Seattle, and continue to be active in the startup community, we are sometimes listed on their websites under the Hand Things Down brand. Being listed in the Startup Weekend company directory got us included in the social good article on Mashable.

Lastly, guest blog and begin developing relationships with 10 journalists you would like to feature your company before you need press and establish yourself and your company as a thought leader in your space.

Image credit: Chlorine-lim

Enhanced by Zemanta
 
 

Memory Management Part I: Objective-C Object Ownership

16 May

Proper memory management by an application is key to stability of an application. Doing it incorrectly can cause a myriad of bad things to happen! The side effects can include corrupting application data, crashing the application, locking up use of the computer or device, or even crashing the system or causing it to reboot.  Thus, memory management concerns are always in the back of the mind of every programmer (and, if they are unfortunate, the front of their mind), especially when they learn a new language. This article introduces programming issues related to memory management. In my next article I will get more technical with best memory management practices in programming iOS/CocoaTouch View Controllers.

In older, procedural programming languages that allow memory allocation (non-object based languages such as C or  Pascal), managing memory was pretty straight forward:

[sourcecode language=”c” light=”true”]
int appFunction(int size)
{
int *array = malloc(size * sizeof(int));

free(array); // Done with the dynamically allocated memory
} // appFunction()
[/sourcecode]

Example: C-language memory allocation.

With object-oriented programming, application designers tend to structure their designs as a fluid interaction of objects. The syntax of object-oriented languages (such as C++ or Objective-C) helps programmers to avoid memory management mistakes easier than procedural languages, particularly in more complex application designs.

Since Objective-C was invented along with the APIs and frameworks used for environments like iOS and Mac OS X, Apple assumes its use with a class hierarchy and, for all practical purposes, a dependence on the NSObject base-class. This class determines a whole gamut of conventions that are nearly indistinguishable from the Objective-C language itself, so it is hardly worth discussing the use of Objective-C without NSObject.  While it looks complex, the important thing is that the allocation and deallocation is handled at well-known locations in the code that will be used for other purposes, the initializer and deinitializer.

[sourcecode language=”obj-c” light=”true”]
– (id)init:(int) size
{
self = [super init];
if (self)
_array = [[NSArray alloc] init];
return self;
} // -init

– (void)dealloc
{
[_array release];
[super dealloc]; // Done with the dynamically allocated memory
} // -dealloc
[/sourcecode]

Example: Objective-C memory handling

Just as, with C, where you need to internalize when you should call malloc() and free(), with Objective-C  you should internalize “object ownership” and when to send retain and release. These retain/release messages (sending a message is analogous to a function or method call, in other languages) implement reference-counting—a way of keeping track of how many objects are referring to the object.

Internalize this rule: If you do allocretain, or copy on an object, you own it and it is your job to release it… otherwise it isn’t.

In Objective-C, objects allocate other objects for its use or other’s use. These allocations are memory allocations. Cocoa (used in Mac OS X) and CocoaTouch (the Cocoa variant used for iOS) programming frameworks assume a clear understanding of who owns an object. Any number of objects can retain ownership another, either explicitly or implicitly. If one object allocates another, then there is an implicit ownership of that object.

stringOwner implicitly owns the allocated object, so it must release it.

[sourcecode language=”obj-c” light=”true” highlight=”1,2,3″]
NSString *stringOwner = [[NSString alloc] init];

[stringOwner release];
[/sourcecode]

tempString does not get ownership, but it can use it for the duration of the method.

[sourcecode language=”obj-c” light=”true” highlight=”1,2,3″]
NSString *tempString = [NSString string];
[/sourcecode]

stringOwner has claimed ownership via retain, so it must release it.

[sourcecode language=”obj-c” light=”true” highlight=”1,2,3″]
NSString *stringOnwer = [[NSString string] retain];

[stringOwner release];
[/sourcecode]

If an object is passed as a parameter to another method, it is possible that the other method may claim ownership of the object. In this case, the sender (AKA “caller” in other languages) can release the object if it won’t need it, later.

[sourcecode language=”obj-c” light=”true” highlight=”1,2,3,4,5,6″]
NSString *stringOnwer = [[NSString string] retain];

[existingArray addObject:stringOwner]; // array is also, now, an owner

[stringOwner release]; // Not needed by this method (or class any longer)
[/sourcecode]

The problem is that, despite Apple’s simple set of rules (or, better yet, the Rules of Thumb), it is often not clear which of their APIs retain ownership of the objects passed in, even by reading the official documentation. I usually find that if I am at all unsure, I need to google it—which often leads to the most reliable advice coming from Stack Overflow.

Apple must know this because they provide their excellent (though not perfect) Instruments tool that works with their Xcode development environment to help ferret out memory bugs and leaks.

Next, I will write about memory usage as it relates to iOS CocoaTouch View Controllers (because that also isn’ve very apparent).

Resources — The Basics

 

Frameworks: Beyond the Nuts and Bolts

06 May

Without frameworks our “big ideas” would still be stuck in the pre-industrial age. —Bill Lee, Berlin, 2008

I have been on a long hunt for a PHP framework so I was going to write up an article about PHP frameworks, but then I thought I should back up a bit and talk about what a framework is and why you should use one.

Software driven computing has existed for over 60 years. In the early days computer programming was performed using long series of numbers to represent the electronic switches tell a computer what to do—computers still work this way. Fortunately no one has to program computers by speaking computer-ese numbers anymore. With that kind of tedious programming, the most advanced programs would be tic-tac-toe games.

But numbers are the nuts-and-bolts of a computer’s operation. Designing a sky-scraper while having to dwell on every nut and bolt of its construction might limit us to working in ten story buildings. It is vitally important in designing complex systems to be able to think at more abstract, level. Programming using numbers quickly led to “assembly language” as mnemonic way of specifying those numbers, then to “third-generation” programming languages (such as C, C++, Pascal, Fortran) which allow programs to be written without regard to the numbers that the computers can actually interpret. This frees software designers to think about problem-solving without being encumbered by the tediousness of the numerical “nuts-and-bolts” needed by the computers that run the programs.

Constructing a building does not occur in isolation; its context involves the skills and machinery of those involved as well as governmental and environmental infrastructure. Over the past 30+ years, the complexity of computing has given rise to very advanced operating systems that define the context in which a program runs. Add to that, the interactions between a program and other programs or data that exist across a network or even the internet and the complexity of issues add to the tediousness of dealing with nuts and bolts. Again, if a software designer has to dwell on the minutia of all these elements, modern complex, powerful software would never be completed.

A framework attempts to encapsulate the complexities of designing and implementing software. A good framework allows software design to occur more abstractly, unencumbered by the tediousness of the contextual details of  the environment. Said a different way, a good framework allows the software designers to focus on the application’s purpose rather than the complexities of implementation.

Software is constructed in layers or components. Encapsulation is one of my favorite concepts in software design and implementation. It embodies the idea that there are specifics at every level or component within the software system that need not be exposed outside that implementation for that level. There are two key side-effects of this: (1) it prevents parts of the program outside the component from messing with or depending on implementation details which leads to (2) each component’s implementation can be changed or improved without fear of adversely affecting use of the component in unexpected ways. This leads to more stable, maintainable products.

Good programmers embed encapsulation within their design and implementation. Many object-oriented programming languages attempt to formalize this concept so that it is easy to do this. Well designed frameworks do the same, “protecting” some parts of the program from complex or variable implementation details.

There are good frameworks and there are bad ones. In a later article, I will discuss some of the issues to consider in picking a framework.

What have been your experiences in using programming frameworks?

 

Product Management from the iPhone or iPad

04 May

Product development is a challenge for distributed teams. Keeping the developers in sync with the product guys is like trying to catch butterflies, the ever expanding features and compressed deadlines makes everyone a little crazed. Sometimes product managers don’t know how long it would take to develop a feature or fix a bug. If the developers could mark complexity in a project management tool it would be useful in helping the product guy make tradeoff decisions. What do you do if you are using Agile development and you don’t have a physical location track every two week sprint?

PivotalTracker to Manage Features
We started using PivotalTracker to track features, bugs, and business requirements. We have projects for iOS, Android, the web app, and the business to make sure things don’t fall through the cracks. We can asynchronously add things to do, estimate complexity and move it into the current week when work is started. Features or bugs which exceed velocity are automatically added to the backlog.

Trackerbot to access Pivotal Tracker on the iPhone or iPad

What is most compelling about PivotalTracker is the ability to access it from the iPhone or iPad using the Trackerbot app. The screenshot is our iOS project showing a couple bugs and features which are on the board this week. Personally, having access to the project or product tools on the go is important since entrepreneurs are almost always thinking of the business even in social situations. I like being able to add a bug to the system when I discover them during demos with our launch customers. Sometimes, I’m out at a baseball game and I get an idea on how a feature would work, I could just launch the TrackerBot app and add it. At our next development meeting, we could take a look at the features in the “icebox” to see if any of them could be moved up.

The other cool feature is being able to track how much time is spent on a particular item. This will help going forward when we need to estimate how many developers we would need for future projects.

Integrations

  • Email – When something is assigned to me, I can reply via email and the reply is filed as a comment with the feature or bug. No more searching through email when I’m working on something because it’s all in one spot.
  • GetSatisfaction – to get feedback from users
  • Jira
  • Zendesk, etc.

Our team experimented with using Gqueues to track features because the premium version integrated with gmail and google calendar. That didn’t turn out to be the right solution since we were trying to force-fit a nested to do list into a collaborative project management tool.

To read more about our paper and pen method of Agile product development, check out Bill’s post.

What is your team using for project management and product development? Post them in the comments.

NOTE: We are not associated with PivotalTracker or GQueues, we thought we could share our experience and learn from others what tools work best for you.

 
No Comments

Posted in Startup

 

The Shackles of Freedom

23 Apr
Shackles of Freedom

Shackles of Freedom —photo: housingworksauctions

People idealize what it must be like to start their own company, thinking that they’d have so much time and freedom to work whenever and wherever they’d like. Anyone that is serious about their own startup knows that is not so easy; but that doesn’t stop me from trying!

Shackles

First, there are the typical responsibilities of life of family and kids. Most people quickly learn that, in practice, working at home can be challenging—barking dogs punctuating important discussions on phone calls; kids needing attention and banging indecipherable passages into your business plan or testing CD/DVD tray as peanut-butter sandwich toaster; or a significant other that assumes that since you’re at home, you must have a lot of free time to do chores.

Second, the demands of (again, seriously) starting a company means meeting with lawyers, bankers, designers, engineers, and, more importantly, maintaining and building your business network.  These demands keep you from straying far from home for long.

Balancing Act

Running a Startup is a Balancing-act

Running a Startup is a Balancing-act —photo daniele.vigna

As with anything in life, finding a balance is a challenge. A startup venture takes a strong commitment of time and energy. It is important to keep one eye on the business and another on your own life, lest you burn yourself out. The balancing point is rarely a comfortable trough—easily found and easy to settle into—but, rather, a razor-thin tightrope full of struggle and compromise. If you’re endeavoring to start your own business, you have been warned! And be prepared to perform your startup balancing act for the circus.

Living the Dream

But I like circuses. I do not have a dog (or fish) nor kids to tend to and my number one priority for the business is to focus on implementation issues. So I put myself to the challenge of mixing work with play.

Since I had put off use of my season pass to Squaw Valley in order to participate in the Founder Institute program, I shirked my networking duties and left Seattle for Lake Tahoe to use what was left of the pass. My plan was to get my skiing back up to snuff and work on the application.

I was fortunate that the snow was still good despite it being spring so I wasn’t too disappointed to have missed the epic snow of February. The mountain was my “gym”—though not as convenient as putting on shorts and grabbing my gym-bag—I would start most days with some time on the hill. Being springtime, the snow often became unskiable as it turned to sloppy, sticky mush, so I would head back and try to get some programming done.

Even play has its challenges

Even play has its challenges —Bill Lee, Squaw Valley, 2011

Settling into a rhythm of work and play was a challenge. Coming back from the gym, too tired to program meant many nights, working until 4am. But this was my personal challenge to “live the dream” and it was a balancing act. I was not as productive as I would have liked but I began to settle into a rhythm where I was able to be productive. Practice makes perfect, I will be better at it next time, as I strive towards my dream of building a successful startup company and earning my level III ski instructor’s certification.

If part of the reason that you want to start your own venture is to live your dream of independence, it can be done, but don’t expect it to be without its challenges. How do you want to live your startup-life?

 
1 Comment

Posted in Startup

 

Blogging Regularly For Non-Writers

23 Apr

Writing with a blank slateHave you seen the infographic saying you should be blogging at least three days a week to keep people coming back to your site? When I saw this, I thought, “how could I ever come up with that much content, I’m not even a writer!” I’m going to share how I’m managing this internal perception by creating habits to help me “feel” like a writer.

The biggest challenge when you’re getting started or when you step into a role where blogging becomes part of your responsibility is making time to write. I get the best inspiration for blog posts as I’m driving, in the shower, or running. None of these situations make it easy for me to jot down my thoughts. Yet If I put a system in place to get these thoughts together the writing process would go so much smoother.

The other big challenge is I don’t think of myself as a writer. I tried video blogging as a replacement, as soon as I would turn on the webcam, every coherent thought seemed to leave my mind. I was able to post a couple of quick videos and the biggest challenge in video blogging from a public location was feeling awkward talking to myself. It’s sort of the reason why I hate those Bluetooth thingies and insist on speakerphone instead.

To overcome these challenges and to push myself to BE UNCOMFORTABLE, which is where growth happens, I’ve put together a couple tips for non-writers who blog.

Tips for Non-Writers Who Blog

  1. Schedule 30 – 60 minutes to blog everyday.
    You don’t need to post everyday. Scheduling the time with the goal of creating a daily habit to write will improve your writing skills.
  2. Write uninterrupted during your scheduled time.
    This sounds so obvious, why even point it out, right? The goal is to focus on writing, no email, no texting, and no instant messaging. If you’re like me, you might have electronic ADHD, jumping from IM to email to text, research that link or stat, tweet something, post to Facebook fan page and after an hour your blog post has nothing written in it. So when you’re writing, all distractions need to be turned off or muted.
  3. Put placeholders for statistics, links, or resources in your blog post.
    Remember the goal is to write for an uninterrupted 30 – 60 minutes. Once you’re writing time is done, you can go back and look for those resources to include in your post.
  4. Release your blog posts according to your schedule.
    You can proofread your posts and send it out to your formal and informal editors, the most important thing is to release according to your schedule. We all want perfect writing and besides getting those typos fixed, you just have to let it go. Know you will get better over time AND you can always update the post to fix errors.

Resources

Here are a couple apps I use to blog on the go.

  • Evernote
    I love Evernote when I’m driving because I can record a voice note on the go, then when I get to the computer I can type it up. I like that Evernote will sync to my computer or to the web without sync cables.
  • Dragon Dictate by Nuance
    One of the lawyers I’ve met in Seattle uses Dragon Dictate to dictate his blog posts. The app will turn your voice notes into text you can email to yourself. He would email the converted text, edit it on the computer, and post to his blog. I found I wasn’t successful at using Dragon Dictate because it needs an Internet connection to convert from voice to text and my Mifi card wasn’t getting a strong enough signal in my area.
  • WordPress app
    Our business blogs are self-hosted WordPress on our domain, once I complete a draft in Evernote, I can copy it all into the WordPress app for posting. I could write the draft directly in the app but it doesn’t have the ability to save voice notes, at least not that I’m aware.
  • Blogwriter Lite
    My personal blog is hosted on Blogger and I was hesitating to move it to WordPress because the app was preventing me from logging into one of the business blogs. Now that issue is fixed so I’m debating if I want to move to WordPress or host my personal blog on Tumblr for ease of use.

Do you have tips to get from beginning blogger to experienced? What are your favorite blogging tools on the go? Put them in the comments.

Note: I wrote and edited this entire post in Evernote on the iPod, then copied into the WordPress app to publish.

Image credit: http://m.flickr.com/#/photos/kristiand/3223920178/

 
2 Comments

Posted in Marketing

 

Experiment: Turning an iTouch + MiFi into a No Contract iPhone

11 Apr
Turning iPod to iPhone Apps

Out of sheer frustration from the lack of AT&T service on the iPhone 3GS in some parts of San Francisco and at home, I started looking at alternatives in service without signing up for another contract. In this quest, I stumbled upon Virgin Mobile and their MiFi card for only $149.99 which is the exact same MiFi card as sold on Verizon and Sprint for much more. I thought I would connect through Virgin Mobile MiFi (uses the Sprint network) when AT&T didn’t have service. This is a reposted from my personal blog.

This post is long overdue, if you googled iPod Touch and MiFi together, you would have come across a LifeHacker article which details how to use this combination as a solution. While having two devices is not ideal, I find it’s much better than when I was using my iphone which had NO SERVICE at home. At best I had intermittent service to send and receive occasional texts but not enough bandwidth to have a conversation without sitting in perfect stillness or contorting my body by a window to get the signal. Ironically, I pulled the SIM card out of my iphone and put it in a Motorola RAZR and the RAZR received phone calls. The calls weren’t perfect on the RAZR yet I had enough of a signal to hear a conversation. On the iphone people would cut in and out that I would miss half the conversation and was completely frustrated between that and the dropped calls.

Apps to Talk & Text on the iTouch
First, I’ve tried several voice over IP (VOIP) apps on the iphone and forwarded my google voice number to the VOIP apps. These apps usually make you select a new phone number without the option to port in an existing number. I use google voice (GV) for the business and forward it to a phone number with a signal or answer calls on the computer. A previous guest post on GenJuice details how to make free voice calls, video chats, and texting.

Here are the apps I’m using to give the iPod Touch cell phone functionality.

Textfree with Voice by Pinger

Textfree with Voice

I was using the beta version when Pinger introduced voice-functionality at TechCrunch Disrupt last year, it crashed a lot and I received the servers were not available dialogs. It has since improved, then added the ability to received free incoming calls, send picture messages from a textfree email address which is [your_username]@textfree.us, and facebook chat from within this app. Sometimes, calls take a bit longer to connect because GV will route the call to all of my available numbers. I haven’t tested how quickly calls come through if you dial the number directly. The caveat with this free app is if you don’t use the app for 30 days, you will lose the number you selected and I still occasionally get the Textfree servers are not available message.

Pros:

  • Free incoming calls
  • Send picture messages
  • Facebook chat within the app
  • Notifications popup on the screen when you get incoming texts
  • Calls sound pretty good when using home WiFi
Cons:
  • Takes awhile for incoming calls to activate even after you click answer when using the MiFi card to connect to the internet.
  • Calls on 3G are still somewhat hollow sounding for the recipient.
  • Can’t receive MMS or picture messages to your iTouch unless the sender sends the message to your Textfree email address.

Skype

Skype

I pay $2.99 a month for unlimited outgoing calls to the United States and Canada on Skype. I don’t need to call internationally which is why this plan works for me. I also signed up for the SkypeIn or an online phone number which was about $12 for three months before I learned Textfree had the free incoming calls. Dropping the online phone number since I can receive calls via my computer on Google Talk.

Pros:

  • You select the number that will show on the caller ID for your outgoing call. I like this because my GV number is what people see call their mobile or landline either from my iTouch or the desktop version of Skype.
  • Video calls on the go when in a good 3G area or ideally on WiFi.
Cons:
  • Voicemail – there is currently voicemail on Skype and I don’t know how to get rid of it. I prefer the GV voicemail since it transcribes my messages.
  • Calls when in a non-3G area don’t sound very good.
GV Connect

GV Connect by Andreas Amann

Of the Google Voice apps I’ve tested, I like GV Connect over the app released by Google. In composing a new SMS or text message, you can type in the name of the person you want directly in the TO field, tap out your text, then send. In the Google Voice app, unless you have the number memorized, you have to go to the address book to select the person first, then select text, before you can even tap out your message. It was too many steps, come on Google, really!??

Pros:

  • Sending a text uses my address book without having additional steps.
  • Select which phones to forward calls and texts to from within the app.
  • Select do not disturb directly from the app.
  • Regular updates to the app to fix bugs and add features.
  • Integrates with Talkatone if using that for VOIP.

Cons:

  • Not a VOIP app.
MiFi

MiFi

This app doesn’t add calling or texting capabilities, I had to add it because I use it to check battery life on my MiFi card and to see the signal strength. It supports MiFi from Virgin Mobile, Verizon, and Sprint.

Measures:

  • Connectivity bars (0 – 5 bars)
  • Battery level (0 – 4 bars)
  • Data received and sent (in/out)
  • IP address
While the experience with the iTouch and MiFi is not ideal, it was good enough for me to put my AT&T account on hold until announcements of the iPhone 5. I will detail that later along with the other apps I’ve tried and ultimately deleted from my ipod because they didn’t do what I wanted well enough.
Have you tried these apps on your ipod or ipad? If you have better suggestions for a VOIP app let me know in the comments, I would love to try them out!
 
1 Comment

Posted in Technical

 

Stuck in Your Startup? Get Over Yourself!

23 Mar
Startup frustrations?

Photo by: Zach Klein

There are a lot of challenges to getting your own startup off the ground. The one thing that no one mentions, though, is the challenge of getting out of your own way!

If you are serious about your first start up—not just as a hobby—then you will need to push yourself, hard. There is too much work to do; there are the product creation issues, there are business and promotion issues, and there are issues that you could never anticipate. There are not enough hours in the day to do it; and that is even if you don’t have a spouse and you don’t have kids and you don’t have a money earning “day-job” to tend to!

If you are starting your first company and you don’t feel stress and pressure,  you are not taking it seriously enough.

Through this stress, you should learn something that you don’t read about:  you are your own worst enemy.  If you have the desire to start a company but haven’t done so or you are stagnating early-on, what is impeding you? Oh, you can blame it on “There isn’t enough time,” or “The idea is not good enough,” or “It will cost too much,” or “It has already been done,” or a myriad other excuses. There will be “roadblocks” at every stage of your entrepreneurial endeavor; from getting started to planning and execution. The real reason you can’t move forward is because you are inhibiting yourself.

During those frustrating times where you are not making progress, it might be worth your while to look inward to see whether it is your own psyche, habits, or preconceived expectations that are keeping you from moving forward. Once you begin to realize why you are not executing, you can begin to find solutions to break those patterns and beliefs.  Climb out of that box that you have spent your whole life building around yourself!

Learning and understanding yourself, then changing and growing… that may be the most valuable part of pushing yourself through the challenges of starting your own company.

 
No Comments

Posted in Startup

 

I Just Want to Create a Frickin’ iPhone App! (Part 1)

15 Mar
Hand Things Down’s first iPhone application

Hand Things Down’s first iPhone application

We had a big deadline, yesterday, to have an iPhone app running. For those of you who who’ve heard about the multitude of hurdles that you have to cross in order to get an iPhone app working, I will summarize my experience over the past couple of weeks. I am not even talking about submitting an app to the Apple App Store, only to get it running on a device.  If you read no further, know this: DO NOT WAIT until the last minute and think you can do this in an hour; there are logistics that involve faxing(!!) and people at Apple, so it will take days. Hopefully some hints, here will help to trim that down.

Here are the steps (from memory):

  1. Join the Apple Developer Connection (developer.apple.com).  This is free and it will give you access to bunch technical information and videos (but not all!). This step is quick and painless.
    1. Find your way through one of the Dev Center links or just go to developer.apple.com/programs/register.
    2. Be sure that the email address and name are what you want to use because they will verify subsequent information, later (in the certificate used to run your app on your actual device).
    3. You will need to verify the email address through the email they send you. This is automated, so it shouldn’t take long.
  2. Once you have registered, you can also download the iOS SDK so that you can develop an application and run it in its simulator. This, of course is the same SDK you’d use for iPod Touch and iPad development.
  3. You have to have Mac OS Snow Leopard (10.6.4) or later to install the SDK… expect an upgrade from 10.5 to take 2-3 hours, after the update patches that might be required, are also applied.

  4. To run your application on an iPod Touch, iPhone, or iPad, you need to join and pay for the “iOS Developer Program.” This process isn’t specific to iOS; you will be able to opt into one of Apple’s three developer programs, iOS, Mac, and Safari. The first two cost $99. and the latter is free.
  5. I needed to register our company as the “developer” so that any applications are released under the company’s name, rather than my own. Apple wants to verify that it is a legitimate entity; so they sent an email asking me to fax proof of the company’s validity (Fax?!! Really, Apple?! Really?!!). They manually review the paperwork before anything else happens. By taking the time to read this blog-post, you can avoid the time and frustration I had to go through (they never processed my fax):
    Apple Dev Program company paperwork request

    Apple Dev Program company paperwork request

    Call Apple Developer Support at one of their phone numbers—for the US, call (408) 974-4897 or (800) 633-2152, Mon-Fri, 9:00AM-7:00PM CST. Tell them that you’d faxed your paperwork in 3 or 4-days ago. If you are nice, they will send you an email where you can attach your paperwork and email back!

    That little tid-bit might save you days of waiting. If you are an individual developer, then this might not apply.

  6. You will get another confirmation email, “Information Received Regarding Your Enrollment,” from them as soon as the support person does whatever they do. You’ve yet to pay, however. I had to wait for another 2-days to receive an “Apple Developer Program Enrollment Update” email. If you do not receive this email, you can try writing your support contact again or try the link that you will eventually get, to see if you can proceed: developer.apple.com/ios/enroll/purchaseProgram.action. It took me two days to get this email. I was then able to pay.
  7. The next day I received an invoice and the confirmation email “Thank You for Joining an Apple Developer Program,” and I was no longer beholden to the black-box procedures of Apple (as far as I know… see my next posting). Now I have access to the additional technical information and I am able to go through the logistics of deploying my app to my iPhone, for the first time.

Total time, for me: 11 days, most of it waiting on Apple!! Hopefully this post will allow you to cut a week off that time. Happy programming!

 
6 Comments

Posted in Technical