What’s Your iPhone App Idea?

Safari on iPhone
Yesterday I met up with Jeff Pulver to discuss some business ideas, and one of the topics we touched on was, “If you could build any iPhone app, what would it be?”

The new iPhone 3G and the imminent release of the App Store have created an amazing amount of buzz and speculation about what the next generation of mobile apps might be.

While I am unable to comment on any of my iPhone development efforts or the details of the iPhone SDK, I thought it might be interesting to ask here as well, “If you could build any iPhone app, what would it be?”

So, simple as that. What is your ideal “killer app” for iPhone? Write your idea here, and maybe we’ll build it!

HOWTO: Learn Stuff Efficiently

I enjoy learning new skills and technologies on my own, and it occurs to me that there isn’t a lot written on the subject.

I’ve been developing this approach for about 20 years and here’s a brief summary of what I find works for me.  It may not work for you, and that’s OK.  But give this a try, refine your own technique, and share what works!

  1. Choose a topic/technology outside your comfort zone.  This is self-evident; you can’t expect to learn anything new if you’re working in a sandbox you’ve already mastered.
  2. Make time for yourself.  Lots of it.  You can’t expect to dig into a topic deeply if you’re distracted by email, phones, tax deadlines, bills, dinner, family, friends, and bathing.  Seriously, these things have to take a backseat, you’ll come across as a recluse, and people will hate you.  Accept it.
  3. Set a goal.  It might be as simple as a “Hello World” or something more complex.  However, it should be something you think you can attain and which will make you happy to see completed.  So, choose something reasonable and within reach.
  4. Code until you get stuck.  Keep pushing small, obtainable goals until you get to a point where you are baffled or sleepy.  This is the time to take a nap.
  5. Before you take a nap, read something.  Your brain runs threads in the background while you’re sleeping.  Don’t waste that CPU power thinking about Angelina Jolie.  Instead, search for guidance on the thing that’s got you stuck (either with a colleague or online), or read (or re-read) a chapter in a coding book that’s relevant.
  6. Sleep until you wake up.  This might be 3 hours, 6 hours or 8 hours; your brain will sleep for as long as it needs to process the information you’re trying to absorb.  NOTE: At this point the thought of having a regular sleep schedule should make you giggle.  You should sleep and code when you feel like it, which likely will not be on any particular schedule.
  7. As you fall asleep, meditate on the questions you’re trying to answer.  The intense concentration available to you as you are nearing sleep will enable you to define and isolate the problems at hand, and this will provide a kind of “normalized grist” for your brain as it prepares to do your heavy lifting for you.
  8. When you wake up, you will have some answers.  You may not have all the answers yet, but you should have some fresh insights that will enable you to blast past your last impasse (wow).  This should give you some encouragement and allow you to repeat the cycle (3-8) again.

I’m presently employing this technique to learn Objective C and Cocoa Touch for the iPhone, and it’s working great.  This is the sort of thing that society will not allow you to do continuously (unless you’ve evolved a significant number of support mechanisms) but you should be able to get away with it at least some of the time.  It delivers great results for me.

And for those of you to whom I owe emails, bear with me; I will get back to you shortly.

SocialDevCamp East: Awesome People, Awesome Day

I just want to say thank you to everyone that showed up to make SocialDevCamp yesterday such a huge success. I say it was a success not as an organizer, but as a participant. I learned a ton of practical information yesterday and made contact with dozens of talented people, most of whom are either nearby or a short train ride away.

I can rant and rave about how great yesterday was, but here’s what others are saying:

  • “Dude - we were surrounded by talented folks - I think I talked myself out - so many interesting things happening.” — Bear
  • “I think its official #socialdevcamp is the best event Baltimore has seen in a LONG time.” — Greg Cangialosi
  • “Thanks for setting up #socialdevcamp yesterday. I thought the discussion was quite insightful & well-organized.” — kyeung808
  • “@chrisbrogan Morning chris, you missed an awesome SocialDevCamp yesterday” — Jimmy Gardner
  • “Good day at socialdevcamp (always a good day when you make friends with an MIT post doc)… also, I’m Bill Pardy.” — James Lombardi
  • “Socialdevcamp was perfect. Met so many great people. Totally worth the sore vocal chords.” — Amy Hoy
  • “What a day! socialdevcamp was seriously a lot of fun, the after party even a little more so.” — vees
  • “After working with the highly esteemed @cyberhorse for 5 years, I met him for the first time today at #socialdevcamp” — Keith Casey

Honestly it all makes me a little emotional.  This is our community.  These people are the future of innovation, and we’re committed to making a go of it here along the silicon rails of the Amtrak east-coast corridor. I am so incredibly proud to be associated with this community, and the notion that we all have a stake in making the east coast a better place to start and run businesses.  More on that later.

I also want to especially thank all of the people who helped make the event possible on the unimaginably short time schedule of 25 days notice: our sponsors (listed here) as well as Melanie Kelleher of Kelleher Consulting for her invaluable assistance with the venue, the catering and at the registration table, Jen Gunner with the Greater Baltimore Technology Council for their support and encouragement, my wife Jennifer Troy for her help with a thousand details and the afterparty, and of course the event co-chairs Ann Bernard and Keith Casey who enlisted the support of their networks and helped shape and promote the event.  People wondered how we could do this so quickly, and it was because everybody involved is a superstar in one way or another; you couldn’t ask for a better event team!

We also need to make special mention of one person who was indispensable in making the event the success that it was: Jim Kucher at the University of Baltimore deserves huge kudos for securing the terrific space at the Thumel Business Center at a deeply discounted price.  Without the University’s support yesterday, as we all experienced it, would not have been possible.  Lots of folks mentioned that the space was really exemplary as a Barcamp-compatible space:  a large common area for mixing and meals, a great auditorium with theater style seating, and four, easy-to-find and easy-to-use breakout rooms.  We really could not have asked for a better space.

Also thanks to Brewer’s Art for putting up with the flash mob that colonized their Saturday happy hour.  We warned them that we were coming, but they might not have expected the sheer numbers and zeal that the SocialDevCamp crowd exhibited yesterday!

One thing is certain:  yesterday was a big success and it affirmed our belief that there is a need for exactly this kind of event and community in our region.  We will be planning a second event, SocialDevCamp East Fall 2008, for September.  Date TBD soon!

I will be writing more about my reflections on yesterday in the coming days.  Right now, I need to finish a presentation for the O’Reilly Where 2.0 conference on the openlocation.org initiative I am working on, and get on a plane to San Francisco at 6:00.

My Talk at eComm 2008: Imagining Roomba Asterisk and More

I spoke at eComm 2008, held this year in March 2008 at the Computer History Museum in Sunnyvale California.  I’ve been involved in the VoIP and open source telephony world for the last several years as a contributor to Asterisk, hacker on OpenSER and several other projects small and large involving tearing down the 100 year old telephony infrastructure and replacing it with something better different.

If you’re a part of the Asterisk community, you know that I have a certain amount of notoriety as The Roomba Guy.  In a visionary fit of silliness during the Christmas holiday week in 2005, I decided it would be interesting to play with the Roomba API and see if I could hook it up to a Linksys WRT54G wireless router.

  • The Roomba uses an RS-232 CMOS 3.3V interface
  • The WRT54G has an RS-232 CMOS 3.3V interface
  • The Roomba supplies a 14V DC unregulated power output
  • The WRT54G can run off about 12V DC and has voltage regulators

You can see that based on this, the rest is inevitable.  The Roomba has a 7-pin mini-din connector that provides the power and the RS-232 connection, so I made up a cable that goes from that connector to the 10-pin serial header interface on the WRT54G.

I got the serial port working pretty quickly and could send basic hex commands like start and stop to the Roomba.  My friend made up some mounting “rails” to hold the WRT onto the top of the Roomba, and now the thing was autonomous and could be controlled via an SSH session established via WiFi.  The WRT runs the White Russian OpenWRT Linux distribution.

The prospect of controlling the Roomba using SSH or a web interface wasn’t too compelling.  I happened to be aware that some folks had success getting Asterisk (the open source telephony PBX) working on the WRT.  So, I thought, what if we could put Asterisk onto the WRT and control the Roomba with that?

So, I did.  Asterisk was easy to install on the WRT and in pretty short order I had cooked up an Asterisk dialplan that tied the telephone keypad to actions on the Roomba.  2 is forward, 5 is back, 6 turns right, 4 turns left, 5 stops, etc.

I was demonstrating this at Astricon 2006, a few months later, and my friend John Todd suggested that we contact Allison Smith, a voice artist of some renown and the “voice of Asterisk” — she supplied all the default english prompts for Asterisk.

She was incredibly accomodating and obliged graciously.  She recorded about 20 prompts, including “forward”, “backwards”, “right”, “left”.  We also allowed for control of the vacuum and brushes in the robot.  So, you can press 1 to “start sucking” and press 3 to “stop sucking”.  Did I mention that Allison is an incredibly good sport?

So, the final form took shape.  A talking, SIP-enabled, WIFI, autonomous, cleaning, sucking, four-port ethernet switch able to run a small business phone system and clean it at the same time.  It’s really quite baroque in its overall frilly uselessness, yet still compelling in a circus side-show sort of way.

We’ve experimented with adding a camera to it, but have found that it tends to create too much power draw.  I’ve looked at using other routers that can run embedded Linux, but there always seems to be some reason why it doesn’t work.  I really don’t have the time to spend on this, and that’s probably a good thing.

But, the overall lesson is an important one:  Imagination is more important than knowledge.  Einstein said it , but it should be repeated.  As techies, we spend too much time thinking about how to solve a problem, rather than playfully considering new ways of framing problems.  Imagination is truly the plutonium of technology, and we tend to lock it up and not use it that often.  Knowledge is certainly important, but knowledge without imagination is everything that’s wrong with tech today.  Certainly the telecomm industry needs more imagination.

So, Lee Dryburgh, who did an incredible job of organizing eComm 2008 (it’s the successor to the O’Reilly produced eTel conference) posted my presentation from eComm online last week, and I wanted to share it with you.

If you’re interested in more of the Roomba Asterisk specifics, ping me and I’ll blog in more depth about it.

 

SocialDevCamp East: Your To Do List

Hey folks,

I can’t tell you how excited we are about SocialDevCamp East on Saturday. We’ve heard from so many of you saying that this is exactly the event you wanted, and we have high hopes that we’ll have an engaging event that we’ll want to repeat in the fall.

We’ve been busy doing all kinds of things in preparation. As this is a user-powered un-conference, here’s your to-do list:

1) Visit the wiki page at http://barcamp.pbwiki.com/SocialDevCampEast

2) Be sure you’re signed up as an attendee (or volunteer or sponsor) on the Wiki page (password is c4mp); if you do not list yourself there, there *will not* be enough food for everyone.

2) Know where you’re going. Study the map and photos on the Wiki page.

3) Bug your friends. If there are people who *should* be at this event that are not listed, please reach out to them. We want smart people with interesting perspectives. Be sure they are there.

4) If you’re not coming, please use Facebook to indicate that now; we need as accurate a picture as possible so we have room for everyone who wants to be there.

5) *Think* about the sessions you want to propose and/or lead. Remember, this is an unconference. Everybody should be prepared to lead and share. Lurking is strongly discouraged.

6) Be prepared to make a monetary contribution of at least $10-$20 (if you are not already a sponsor). While a contribution is not mandatory, we are over $1000 in the red right now. If everyone pitches in $10-$20, we can cover all of our costs and have some funds to cover some more food and beer at the afterparty.

7) Bring your brain. Seriously, don’t leave home without it. Everyone is expected to contribute.

SDCE will be featured on WYPR 88.1FM Baltimore this afternoon at 5:30pm, on the Digital Café with Mario Armstrong. We’ll have some other press at the event as well. This is a great opportunity to showcase all the activity in our region! It’s not all about the valley!

We are at over 160 people now and this should allow us to have some great conversations.

Looking forward to seeing ALL of you on Saturday!

Sincerely,

Dave, Ann, Keith, and Jennifer

Tip: Be with People who Love what You Love

This morning, I attended another of Jeff Pulver’s Social Media Breakfasts.

Every time I go, I end up risking a parking ticket. The metered spots are invariably for 2 hours, and 10AM comes almost instantaneously. I can’t tear myself away to go mind the meter; been lucky, so far.

At these events, I’m continuously engaged with friends new and old; like-minded people who love ideas like I do, and who can bat them around like tennis pros.

If you’re like me, you find this kind of intense interaction to be exhilarating and stimulating.

This is what we want to facilitate at SocialDevCamp East — a thoughtful conversation about new ideas and how to realize them. We want to discuss the future in an informed way, synthesizing the lessons of the past with today’s emerging trends. We want to include economics, psychology, and design in this discussion. And iPhone and Rails and Twitter.

Anyway, if this sounds like a conversation you want to have, we guarantee that SocialDevCamp is going to be a blast, and that the day (and the party afterwards) will be a blur. A good blur; a blur you can leverage in the form of new ideas, relationships, and opportunities.

We want to thank our two newest sponsors: AwayFind.com and WebConnection.com. Also thanks to David Kirkpatrick, Senior Technology Editor at Fortune magazine, for attending.

Looking forward to seeing you and your ideas in Baltimore on May 10th!

Sincerely,
Dave, Ann, Keith, and Jennifer

It’s Official: Food is Oil

I would not have anticipated ever writing anything with this thesis: Fidel Castro was right.

A couple of years ago, he made it known that the global subsidy of biofuels would lead to an increase in the price of food because of the diversion of grain stocks (such as corn) into fuel production.

It seemed basic economics at the time and he’s been proven correct. We saw it in the developed world first in the form of an increase in the price of milk (made from corn, essentially) and subsequently all dairy products.

Now we see it in the form of other grains, like rice and wheat, and there is no obvious end in sight. The craze to invest in biofuel technologies was nothing other than a stall tactic, to prevent investment in real alternative energy sources. While it’s nice to re-use things like old fry oil to run your Mercedes or semi, there just isn’t enough used restaurant oil to make a dent in our demand for energy.

Instead we’ve taken the final step in linking our food supply to the energy market: we’ve decided to invest heavily (and irrationally) in converting our food directly into energy with ethanol and soy biofuel subsidies.

It’s not as though there had not previously been a link; oil companies have been powering agribusiness for the last 75 years at least. Petroleum waste products have been productively combined with chlorine and other chemicals to produce a huge number of chemicals that have proved useful as pesticides (and as PCBs, PVCs, and other plastics) and have led to the current abundance of food.

Ostensibly, this is a good thing; however as this has occurred, farming has become big business, and the same corporations that control the chemistry of the food supply (like Monsanto and Exxon/Mobil) now control the food supply itself. There’s no monopoly like two monopolies.

If this theses are correct, one of the best things we can do to lower food prices and to promote investment in sustainable alternative energies is to loudly protest the investment in biofuels.

By removing subsidies for biofuels, we 1) direct food back to the food supply, thereby easing prices, 2) promote investment in sustainable alternative energy solutions, 3) agitate the monopoly link between corporate farms and the petroleum products they use, 4) put additional pressure on automakers to seriously consider the development of non-petroleum powered and, certainly, of non-biofuel powered vehicles.

So, I exhort you: help stop the subsidy of biofuel production. If there is a natural market for it, it will stand on its own.

Otherwise all we’re doing is making food less affordable, creating agony for countries that can’t afford these price increases, and extending the life of the petroleum monopolies.

Certainly new technologies like slow discharge capacitors hold real promise. Let’s develop these ideas and show the oil companies that their stranded costs are their responsibility, not ours.

Building Tech Startups on the East Coast @ SocialDevCamp East

As we gear up for SocialDevCamp East in Baltimore on May 10, one of the things that we’d like to highlight is the diversity of Web 2.0 talent available here on the east coast.

The conventional wisdom today says that to make it as a social startup, you should a) move to San Francisco (preferably East Bay or SOMA), b) meet a bunch of cool people (natch), c) get funded (cake!), d) get featured in TechCrunch, e) build your startup to 500,000 users, f) get snapped up in an early acquisition by Google for $90M, g) repeat.

For lots of reasons, the odds of this working are low and getting lower. Why? For one, this is the conventional wisdom; everybody’s doing it, why shouldn’t you? Loads of ditto-heads are creating a glut of ideas. They all can’t win.

Second, VC investments are often a trailing indicator of successful business sectors. VCs follow what has worked previously, which leads to persistent failures at the end of a business cycle. Why else do you think they need to rely on outrageous 100x returns? To make up for their last round of losses.

Why do you live where you do? Family, a partner, school, friends, or do you simply love where you live? There are countless talented people who have made the same choice as you, and they’ve made this choice not as a runner-up to a life of glory in the Bay area. They’ve made the choice as a matter of personal identity and conviction.

As I meet members of the tech business community along the east coast, I hear two things consistently. One, that the Bay area is getting weird these days, and that they are “all smoking the same air.” Second, that the “VC community doesn’t get it here,” and that it’s hard to get funding and launch a web-based startup on the east coast.

Sorry, but we can’t have it both ways. We must choose: do you want to live in the Bay Area and sustain the vagaries of that echo-chamber culture, or do you want to grow where you’re planted and build viable businesses here?

The fact is that we can’t expect to improve the tech startup climate on the east coast if we don’t come together and make it what we want it to be. And that means we need to stop looking over our shoulder at the west coast and start building businesses here and now, using telework, co-work, or traditional workspaces.

The 37signals blog covered this topic today, and reflected many of my opinions on the subject.

This is part of what we want to address at SocialDevCamp East. If we want to have a thriving startup culture here, we need to build it — one relationship at a time.

Being an iPhone Developer Has Its Privileges

It means you get to pay $99 (plus sales tax). Hopefully in a few minutes I’ll have a certificate to test apps on my iPhone!

See you at iPhoneDevCamp in New York this weekend?

We’ll be sure to have iPhone topics at SocialDevCamp East on May 10!

SocialDevCamp East, May 10 in Baltimore

The last few weeks have been really busy. So much has been going on I haven’t had time to blog.

Since last time, I’ve launched a new company called Roundhouse Technologies and helped to organize an unconference here in Baltimore called SocialDevCamp East.

I’ll be talking about Roundhouse Technologies in more detail in the coming weeks. In the meantime, it’s important to get the word out about SocialDevCamp, as it’s coming up fast — on May 10.

SocialDevCamp will be held in Baltimore and is an unconference focused on the future of the social web. We’re looking for developers and thought leaders who are interested in imagining the future of the web, not just where it is today.

While “monetizing Facebook applications” might have been a good topic for six months ago, we’re after a little deeper reflection than that. What are the long term implications of platforms like Facebook? What effect will Google’s Application Engine have on creativity? What direction is the ideation, funding, and liquidity process going in? Do we need to create new paths to liquidity, as some have suggested?

SocialDevCamp is an unconference, so the agenda is not cast in stone; we’ll form the agenda based on the interests of the attendees. It’s also free to participants. Our costs will be covered by some sponsors; we need sponsors. My new company is one, but we could use more. Please email me at dave at roundhousetech dot com.

Why is SocialDevCamp East in Baltimore? It’s central to DC, Philly and pretty accessible to NY and Boston. Our hope is to draw deep thinkers from each of these markets. This kind of conversation is happening much more frequently on the west coast, but as a friend of mine recently said with tongue firmly in cheek, “the people in San Francisco are all smoking the same air.” There’s something to that. We have an opportunity to have a thoughtful, realistic conversation that’s influenced by reflection and not so much by what might be happening on Sand Hill Road.

We expect to have about 100 people. Please spread the word. We’re planning to have four separate break out session periods, plus lunch and an after party. We hope you can make it to what should be a great event!

Sign up to attend with the event page on Facebook and the Barcamp PBWiki event page.

And if you know someone who would be a great fit for the event, please pass on the word. We’re really looking forward to meeting all of the fantastic thinkers in our midst here on the east coast.

And yes, the venue has not yet been confirmed, but we’re working that now. We’ll update as soon as we have more specific details.