A quarter of iPhone users say it’s displacing a notebook computer. 28% of iPhone users surveyed said strongly that they often carry their iPhone instead of a notebook computer.
One critical question is what laptop uses are now replaced on the iPhone? Are we talking about IM? Email? Or is a small group actually doing real web research and work on the phone?
Speirs goes on to describe the three main contexts for usage he sees:
|Type 1||physically moving while using – 0-1 hands||small feature set, simple, easy, quick, focused|
|Type 2||“interstitial” – standing, waiting – 0-1 hands||more features, still relatively simple, adding peripheral data|
|Type 3||away from home – sitting, replacing laptop – 2 hands||complex, requiring user to think and respond|
Do type 3 apps really need to exist on the iPhone? If they do, will a screen keyboard be the preferred method of input? The market for Windows Mobile apps has existed for a while (ditto Symbian), yet neither took off. Is that because it was too niche, or because type 3 apps just don’t translate to such small devices?
I read Growing a Business last week, a book by Paul Hawken of Smith & Hawken. The book is pretty old, from 1988, so there is no mention of the Internet, little about software, and nothing at all about startups. In fact, I was struck when the author mentioned the computer for the company. Not a, but the.
Even so, the book is a must-read for anyone who actually wants to build a business that makes money, contributes to society, and does something useful. Hawken doesn’t go into a ton of specifics about finding an idea or market, but he says a few things I’ll keep in mind going forward:
Address problems that money alone cannot solve.
If you’re chasing after an idea that could be solved by an estabished company throwing some dollars and people at it, that’s likely a bad sign. (Whether they do it, can focus on it, etc., is a different consideration.) If you hear about people paying consultants or contractors to do something and it still sucks, there just may be an opportunity there.
Money goes where it causes the least embarrassment.
This one relates to the whole “no one ever got fired for picking IBM” thought process. It’s true, both when it comes to internal spending and when it involves VC funding. Why does it seem like funding cycles come in waves? Why did a bunch of social networks get funded all at the same time, but then it took a few years and a risk for the new wave (led by Facebook) to get additional funding)? Why do some entrepreneurs repeatedly get funding when they have no past success while new guys find it impossible to even get in the door?
Focus on a niche instead of developing a new market.
Hawken discusses how hard it is to create a whole new market, one that people don’t realize is needed or one where the benefits are not apparent until you try it. Instead, he suggests focusing on a niche. If it buys in, you can explore and grow from there.
Also discussed are building a good culture, focusing on customers, funding, and lots of other great insights. The lack of technology talk produces a list of business lessons and people skills necessary for those who want to create a business instead of just raising funding or boosting egos.
While thinking about how to organize projects on my home machines, I decided to look into Git, a version control system like CVS and Subversion (SVN). Unlike those two, however, Git is distributed, which means you can have multiple repositories for the same project, and/or only a local one to handle your stuff.
You can use Git a lot like Subversion with one major benefit: you can do local check-ins without having to branch, synchronize, and create remote copies of your own sandbox.
Of course, this means you have to learn yet another set of syntax. A really good primer is a crash course on Git for SVN users, but here are the key things I learned and found to get rolling fast.
So let’s just assume you’re creating a project in directory local_dir. You already have a bunch of files and you want to sync up. You also have a remote server my_server. Here’s what you do.
First, go into the local_dir directory and:
- git init – sets up the git files for tracking locally
- create and edit a text file called .gitignore – on each line place files you want to ignore, like DS_Store and *.tmp files, etc.
- git add . – tells git you want all files (recursively) as part of the next commit
- git commit -m “initial checkin blah blah” – tells git to commit with the given message
At this point you’re locally ready to go. If you don’t want to work on multiple machines or synchronize to the cloud, have fun!
Otherwise, you should now go to your server and set up a place for your files to live in remote_dir:
- mkdir remote_dir
- cd remote_dir
- git –bare init – sets up git in this directory with no initial working copy
Now you go back to your local machine and tell it about your remote server:
- git remote add origin email@example.com:remote_dir – tells git how to ssh to your remote repository
- git push origin master – tells git to send your local copy to the server – magic!
You may want to edit .git/config so that you can quickly push and pull files by adding the following lines to this file:
remote = origin
merge = refs/heads/master
This will mean you can use the following commands to synchronize to and from the remote server:
- git push – send local copy to the server
- git pull – get server updates into local copy
Finally, if you want to work on other machines (or have someone else join you in your work), all they have to do is:
- git clone firstname.lastname@example.org:remote_dir – copies the remote repository to your local machine
Voila – you’re ready to go!