Planet Jeffro

I am a NYC entrepreneur working on Patient Communicator and part of the Blueprint Health accelerator. Email me at jeff [at] patientcommunicator [dot] com.

Previous companies:
Fare/Share | iOS app for sharing taxis
VocabSushi | learn vocab from news
Cnvrge | meet people via SMS
Supermarket Classroom | teach your child while shopping
Poorsquare.us | foursquare for the 99%
IngeniousOwl.com | online SAT prep
Recent Tweets @jeffnovich
Posts I Like
Who I Follow
Posts tagged "iPhone"

A lot of people wonder what I do all day.  Here’s a list of all the stuff I’m currently working on (as of October 22, 2011):

  1. BluTrumpet.com business development - it’s a neat new ad network with better yields than iAd and customizable. I’m finding app developers and reaching out to them. Also incorporating their SDK into several of my own apps.
  2. VocabSushi - supporting all the teachers using VocabSushi with their classes, looking into a very cool partnership opportunity with a large education website, working with a new social media star who will manage outreach and other stuff, updating the VocabSushi iPhone App.
  3. Tutoring - I have 6 high school students. I see them once a week for SAT prep, math and/or physics tutoring.  Been doing this for 7 years.  I enjoy it and am always trying to get my students interested in programming (it’s a much better skill than knowing calculus, as it turns out.)
  4. Fareshare - working with our partners in London, Green Tomato Cars, to finalize development of our cab-sharing iPhone app so they can launch it and ramp up for the Olympics. Things are on track and we’re planning to launch in January.
  5. Corporate Videography - I work with a big PR company and shoot media trainings.  If you’re the CEO of a Fortune 500 company and you’re about to go on TV to be interviewed, you’re going to want to prepare your messaging.  That’s what these trainings are for.  I film the mock interviews (with a backdrop, light, and mic) and play them back.
  6. PatientCommunicator.com - this is a communications and practice management platform for independent doctors to streamline their workflow. My father uses it and he cut all 3 of his secretaries (his overhead is just 15%). He was profiled in Forbes for having such a tech savvy and highly efficient (and profitable) primary care practice. I’m working with a business partner to raise money from several already interested investors, and demo’ing to other interested parties.  Also speaking with interested doctors and getting them on board. Finalizing the specifications and product roadmap - our next few releases will sport features never before innovated by any EMR or platform management system on the market. It’s an exciting time.
  7. Cnvrge.com - I’m coding this speed-networking via SMS app (though I’ll soon partner with my friend and developer James to unload that work to him), and using the app to run about 2 networking events per month.  Still proving out the concept through lean methods, but people seem to really like it. If you want to run it in your networking event, let me know!
  8. Bandsnearby.com - A weekend hack I did with Pinzler, this is Pandora for local bands to help you find which intimate music venue in NYC you should go to tonight.  Had my virtual assistant grab all the bands playing at 13 venues over the next 6 weeks. Still tweaking a lot of functionality and data. Planning to get a designer to clean up the look.  It’s already allowed me to discover a few bands I really love that are local and small.
  9. Supermarket Classroom - My mom’s app. This is for parents in the supermarket with their young children who want to give them something educational to do in the context of the aisles.  I just used Tinyproj to find a great graphic designer and hope to get this in the app store within a month.
  10. IngeniousOwl.com - An online SAT course powered by Bespoke Education.  I’m working with a designer and star python developer to finalize the functionality and get this really helpful site up and running and into the hands of our students who need the extra help. If you want to beta test it, let me know. Planning to officially launch in January.
  11. The Census Bureau - This is a spoof video of the Honey Badger video to celebrate the tireless Census Takers who come to your home when you don’t return the census forms. I’ll be editing this and loading to Youtube shortly. Stay tuned.
  12. Blogging / running / walking Sagan (our greyhound) / hanging with my amazing wife (and occasionally proof-reading her papers) / Skype-ing with my dad / dreaming up dozens of new projects and ideas

So yeah, I’m stretched pretty thin.  But as always I’m loving my crazy days which let me regularly work on about 7 or 8 of these things. I rotate through a lot and by the end of a 16 hour day I git ‘r done.

Enhanced by Zemanta
Wow - seriously Apple?  This is the most useful alert ever. No automatic download of the new version of iTunes? Not even a “click here to download it”?  Just a “it’s expired” middle finger right at me… (I’m using the developer’s version of iTunes, to be fair, but that’s still no excuse for such a useless message. I expect more.)

Wow - seriously Apple?  This is the most useful alert ever. No automatic download of the new version of iTunes? Not even a “click here to download it”?  Just a “it’s expired” middle finger right at me… (I’m using the developer’s version of iTunes, to be fair, but that’s still no excuse for such a useless message. I expect more.)

Enhanced by Zemanta

Texting on a keyboard phone
Image via Wikipedia

Last night I was fortunate enough to run my “networking 2.0” app Cnvrge at the NY Hackers meetup at General Assembly.  More than 200 RSVP’d and probably 150 people came so this was a great opportunity to get a huge amount of feedback from real Cnvrge users.

Quick overview:

Cnvrge introduces you to people in a room via SMS.  Every 6 minutes it’ll text you with who to meet and where.  A typical text would say “Meet Bill (Java developer) near the tables next to the window.”  Each participant would get a text like this at regular intervals, thus creating a “speed-networking” event without the logistics, timer, or awkwardness.  This app is a side project but one I think could do quite well if I can get it to consistently work well.

Each event I run is an opportunity to take all the assumptions I’ve made in my home office where my typical user will behave rationally and in predictable ways, and throw those assumptions into real life where things work out very differently.  In other words, things never work out the way I anticipate, so I take notes, talk to everyone, and go back to coding the next wave of updates/tweaks.  Iteration is key, and being able to talk directly to users who are using the service in real time is pretty amazing.

I’m going to blog about future events and what I’ve learned.  First, a recap of the last three. Jump down to see notes from last night’s event:

EVENT #1: Columbia Venture Community - 20 people - Wix lounge

Assumption 1: Everyone would show up at the same time, so the event would be started at a particular time.

Reality: There was a 30 minute window between the 1st person showing up and the last.  During that time there was a lot of silent awkardness and texts should have already been going out.

Fix: Made it so texts could start going out with as few as 3 people checked in, and as new people roll in, they get added to the pool for the next round of texts.

Assumption 2: No one would leave early.

Reality: People left early.

Fix: Allowed users to text “out” to opt out of future meetings (ie, if they wanted to quit or if they met someone they liked and wanted to keep talking).  They could text “in” to jump back in and get a text for the next round.

Other fixes

  1. Error checking on text.
  2. Reset button
  3. Admin creates a list of location names (ie, near the pizza boxes)
  4. Ability to PAUSE and RESUME event 5. List of people currently “inactive”
  5. Many more…

EVENT #2: NY Creative Interns - 20 people - Food Parc

Assumption 1: People will text their email.

Reality: Some people are understandably hesitant about texting their email to a random number.

Fix: Made it optional and explained that it would only be used for the event.

Assumption 2: Nothing would get messed up with the meeting trigger.

Reality: Stuff got screwy (ie if the organizer closes her browser and re opens after the countdown hits 0 - which would normally trigger a next meeting call.  Then it just hangs).

Fix: Added a very practical “Go to Next Meeting” button that manually advances to the next meeting (rather than waiting for the timer).

Assumption 3: If there is an odd number of people, the “odd man out” will be happy getting a text saying “sorry, we didn’t find you a meeting this round. Get a drink, reload business cards and hang tight til the next round.”

Reality: No one wants to sit out.

Fix: The “odd person” gets a text saying “go join a group and say that Cnvrge sent you!”.

Other fixes

  1. Participants receive an email digest at the end listing all the people they met.
  2. Event organizer receives an email digest of all attendees and emails, etc.
  3. Fixed the location bug
  4. Include all participants even if they don’t answer the “bio” or “email” questions
  5. Many more…

EVENT #3: For|By|For - 22 people - Wix lounge

NOTE: This event was run entirely by Kate (while I was at home for a Rosh Hashana dinner), so it was a good test of whether things could be run successfully without my presence.  As part of this I wrote a detailed instruction manual on how to set up and run the event.

Assumption 1: Location names wouldn’t totally screw up and cut off the number of meetings.

Reality: Really big bug (but very easy fix) that limited the number of meetings happening per round, leaving 16 of 22 without a meeting!

Fix: Fixed a for loop.

Assumption 2: The odd man out is ok with a simple text.

Reality: They want to have a legit meeting with a new person, not just be told “go join a group”.

Fix: Now the odd person gets matched to a new person in an existing 2-person meeting - to complete the ‘trifecta’.  The person they are meeting is lucky and gets matched with TWO people on that round, and is texted that info.  All of this is tracked in the database so they’ll all get listed in the email digest at the end (saying who met who).  All is well.

Assumption 3: Folks would be able to follow simple instructions, such as “provide a 3-5 word bio”.

Reality: Several people texted mini novels that messed up the process.

Fix: Added error checking to confirm that a 3-5 word bio is actually only 3-5 words (or less than 100 chars), and that an email is actually an email.  Sheesh!

Other fixes

  1. Automatically include everyone in rounds even if they didn’t write a bio or email.
  2. More bug fixes and tweaks.

—————————

EVENT #4: NY Hacker - 44 people (checked in) - General Assembly

Assumption 1: People could be pitched with a 30 second explanation as they arrived about what Cnvrge is and how they can check in to the event.

Reality: Most participants had wildly differing views on what the purpose was and how it worked.  Many simply viewed the texts as “suggestions”, not realizing that the other person was actually waiting for them at the location, by themselves.

Fix: Need to always include a clear explanation about Cnvrge prior to any event so all attendees know that if they choose to participate, that they should be following the rules. (Rules should be made more intuitive, yes, but rules nonetheless.)

Assumption 2: Everyone would have a US phone number.

Reality: One guy had an international number.  Twilio doesn’t “do” international numbers.  He didn’t get any texts.

Fix: Check for int’l numbers and reject (sorry!).

Assumption 3: Participants would arrive with a cell phone… or with a phone that is charged.

Reality: Several people had phones die prior or during the event.

Fix: No fix for this! But workarounds noted below (since they would presumably not get their texts and be “no shows”).

Assumption 4: The goal of a “meetup”-type event is to build a community, which means having people meet as many new people as possible, thus to convert as many strangers into familiar faces as possible in as short a time as possible.  The next event, therefore, would be filled with a lot of familiar looking people and a warm and inviting group is forged.  If you only meet 1 person at each event, then every event ends up being a large group of strangers - that isn’t much of a community.

Reality: People come to these events for different reasons. Some people find more value in a high quality 45 minute conversation with one person than meeting 10 new people in the same 45 minute period (those 10 people could all be just as “quality” as the other).  This was part of the reason why many participants simply ignored the texts - they were already having a great conversation, why would you leave?  (The flipside of this is: it’s networking, not dating. It’s not like someone else will steal this girl/guy away from you if you leave them for the next hour. That person isn’t going to disappear and if it’s a good connection you’ll easily have quite a few more meetings in the future, so why squander the access you have to 100+ other people?)

Fix: Again, better preparation would have helped.  Cnvrge is particularly effective for meeting a lot of new people (people, mind you, who don’t disappear afterwards - you can easily resume a conversation with them over coffee, or later on).  If participants are focused on meeting new people, then Cnvrge is appropriate.  If you are looking for the “right person” to strike a deal with or talk shop with for a long time, then Cnvrge will just annoy you (and the person you’re talking to).

The most elegant fix I’ve come up with solves this and the problem of a “no show”.  So if Bill ignores the text (because he’s in a good conversation) but Jane (his meeting partner) actually follows the instructions and goes to meet him at a location, she is stood up and stuck waiting for a no show.  She’ll be able to text “no show” which will do 2 things: automatically opt out Bill on his behalf (he’ll be notified, but this is a passive way for him to continue ignoring until he wants to jump back in), and it’ll locate another participant who has been ‘stood up’, and connect them.  Someone called this the “no show corner” of the room.

I think this could include some kind of confirmation like “do you want to meet Bill”, but this quickly gets into a much more complex form of speed networking where the meetings themselves are on their own timers and it stops looking like speed networking and more like an app that introduces you to people.

Other fixes

  1. Ask the user for their email at the END of the event (speeds up check in)
  2. “OUT” text did not actually exclude people from rounds (need to fix this bug)

Other notes

  • A few people were asking about “intelligent matching”, which is really interesting.  I already worked on a Linkedin hack and am looking into the Hunch API, but what good is great matching if people aren’t even showing up to the meetings?  So first order of business is to get consistent meetings that “work” for the people involved. Then I can focus on better-than-random matching, which I’m not so convinced would be “better” anyway, but that’s a different blog post.
  • A lot of people said they absolutely loved this concept and loved using it.  I asked “cool, so how many people did you meet?”  “Oh, no one, but it was awesome!”  Turns out, one guy met someone by complaining that his ‘match’ was standing him up on that round - so in that sense, Cnvrge was a way to break the ice like “oh, this thing isn’t working!”
  • One guy said about 60% of his meetings showed up, which sounded like a big success. He was very happy with it.
  • Interestingly, I asked people “so, at an event like this, how many new people do you typically meet?”  For all the people I asked that to, this was their FIRST event ever (tech, meetup, etc - the very first event across the board!).  So they didn’t have expectations at that point.  But one girl had just moved here last week so she came to meet new people - Cnvrge was exactly what she wanted.  For others, who came to find “a developer”, Cnvrge was helpful but too random.

Closing thoughts:

I’ve gone to hundreds of events and what I’ve learned is you really can’t anticipate the value of a relationship by looking at someone’s resume.  In other words, I go to events like these with an open mind, happy to meet anyone precisely because I’m there to be a part of the community, and that means connecting with new people to turn strangers into familiar faces.  I fully understand the desire to have transactions with only the “right” people - ie I’m looking for a developer, so why would I waste my time with a micro-biologist or a lawyer?  That’s fair, but I’d argue that growing your network and becoming an integral part of the community will yield far greater value, much of it unanticipated, than just focusing on the short term.  Certainly many meetups/events are focused around “targeted networking” - conferences are pretty much entirely about that.  But events with a mission to build a “community” may offer more than a roster of potential hires or investors.

So I go to events and meet people just to hear what people are working on, what brought them to NYC, and this particular event, and how I can help them through introductions or guidance.  I love rapping about ideas and projects I’m working on (there are many) but I generally don’t have expectations from a first meeting.

All of this is to say: I built Cnvrge to power community-building.  If Meetup gets a group of like-minded people in a room, Cnvrge takes the baton and efficiently connects all of those people like the best party host you’d ever meet.  That’s the vision I’m trying to achieve.

If you are an event organizer (and have networking events with 20-100 attendees) and you’re interested in using Cnvrge, email me at info AT cnvrge DOT com.

Enhanced by Zemanta

On our drive back from Cape Cod, I decided we had had enough of Google Maps for driving directions.  I would often stop paying attention and forget to tell Maddy (who does most of the drivin’) when to make turns and what not.  She hates that.

So in the spirit of using technology to cut out needless arguments (shared Google Calendars virtually saved our relationship since I often ignored emails asking me when I was available to make plans), I said enough and decided to find and pay for an app that could provide real GPS driving directions.

Enter MotionX GPS DriveIt cost $1 and does all the turn-by-turn stuff you expect.  Great aerial view that moves while you move. It tells you miles to the next turn and time to destination (constantly updated).  It does what you’d expect for GPS but compared to Google Maps it is a gift from heaven.  It also eliminated the need for me to pay attention as Maddy could just quickly look at the heads up display (we stood her phone up on the dashboard) and not worry at all.

Next we decided to save cash on gas.  I said there was an app for that.  Gas Buddy is a free app and lets regular people update gas prices of the gas stations they go to. So you can browse a map and spot the stations with the lowest prices.  It may not sound like much, but we found a Hess station w 3.66 gas (virtually all other stations were above 3.85, often closer to 3.99), and we ended up filling a nearly empty tank.  At 15+ gallons we saved around $5 with just a few taps and literally didn’t go out of our way (we were stopping for food anyway). So yeah, that’s definitely not worth driving 100 miles for, but might as well be a smart shopper.

I thought a more intelligent version of the app could do all the calculating for you. You punch in your current location and destination, then roughly how much gas you have, size of tank and car mileage.  Then it should calculate the best place to stop that is not too much of a detour and will maximize your savings. It should say the range that you’ll save over the “regular” option (say, the rest stops that are right on the highway) to see if it’s worth it.

Enhanced by Zemanta

The problem: Most of the valuable content on my twitter feed are all the links to blogs/articles posted by the people I follow.  I don’t care about checkins or conversations people are having.  Most of the people I follow rarely, if ever, write interesting, pithy tweets.  But I love the links to articles.

I use Tweetdeck (iphone), and scroll through the conveyor belt of Tweets.  When I see an interesting looking link, I click it. It opens in Tweetdeck’s browser.  That’s when I realize “hmm, I don’t have time to read this now”.  So I click the Safari button, and use the Instapaper bookmarklet so I can read the article later and have the full, readable text available when I’m in the subway.

I do most of my reading of news on my iphone, and often in the subway.  I’m also an avid user of my RSS reader (NetNewsWire) because it syncs everything. Problem is, sources like the NYT or HackerNews only show you a tiny bit of the article or just headlines, so I have to manually send each one to instapaper (a great feature of NNW).

I love Instapaper - it strips crap, formats nicely, saves where you stopped reading (like an e-reader), archives/files articles easily.

One other problem: When I send things to instapaper from a tweet, I end up losing the reference point. When I finally read the article, I have no idea who originally tweeted it, or what they said. (I like to respond to people who recommend reading things.)

The hack: I wrote a Perl script that simply takes my conveyor belt of tweets from all the people I follow, extracts all the links and sends them to my Instapaper account.  Now, I don’t miss a single article, and I don’t need to waste time in Tweetdeck scrolling through and manually clicking links.

In Instapaper, I set the ‘summary’ field as the originating tweet, so I know exactly who tweeted it and what they said about it when I finally get around to reading the article.

This hack, which I’ll set on a 10 min cron job, has saved me a lot of time.

There is also 1 line of code that pulls all of the HackerNews articles (which, even in RSS, are just annoying headlines with no content) and plugs them all into Instapaper.  For this I created a new username which was my email and then “+hn@gmail.com” so it wouldn’t destroy my personal account.  (The Perl module doesn’t have a way to assign a folder to an article, which is really annoying.)

Who is doing similar stuff:

Knowabout.it is an awesome service that filters the content overload from incoming tweets and floats the most interesting, personalized stuff to the top.  I love it - I just want it to have that “automatically send all this stuff to Instapaper” option!

Trunk.ly - cool but this indexes all the stuff I wrote.  That definitely solves a problem, but not the problem I’m describing.  They tweeted that this was a feature on their roadmap.

Instapaper - They should have a simple way to do this and pull all your Twitter content into a special folder.

Here is the script:

my $paper = WWW::Instapaper::Client->new(
                username        => $ip_user,
                password        => $ip_pass,
);

my $nt = Net::Twitter->new(
        traits   => [qw/OAuth API::REST/],
        consumer_key        => $consumer_key,
        consumer_secret     => $consumer_secret,
        access_token        => $token,
        access_token_secret => $token_secret,
);

eval {
        my $statuses = $nt->friends_timeline({ count => 100 });        # pass in ALL of the ppl you follow
        my $statuses = $nt->user_timeline({ screen_name => 'HNTweets' });    # pass in all of hacker news links
        for my $status ( @$statuses ) {
                $selection = unidecode("<$status->{user}{screen_name}> $status->{text}");
                if( $status->{text} =~ /(http:\/\/[^\s]+) / ) {
                    $url = $1;
                    my $tdt = DateTime::Format::Flexible->parse_datetime( $status->{created_at} );                    
                    my $dt = DateTime->now();
                    my $age = ($dt - $tdt);
                    my $dur = ($age->hours)*60 + $age->minutes;
                    
                    if( $dur < 500) { # if less than x min old    
                        print "$selection\n";
                        my $result = $paper->add(
                                        url   => $url,
                                        selection => $selection
                        );
                        
                        if (defined $result) {
                                        print "URL added: ", $result->[0], "\n";  # http://instapaper.com/go/######
                                        print "Title: ", $result->[1], "\n";      # Title of page added
                        }
                        else {
                                        # Must be an error
                                        warn "Was error: " . $paper->error . "\n";
                        }
                    } # if < duration
                } # if has a link
        } # for each tweet
};

if ( my $err = $@ ) {
        die $@ unless blessed $err && $err->isa('Net::Twitter::Error');

        warn "HTTP Response Code: ", $err->code, "\n",
                 "HTTP Message......: ", $err->message, "\n",
                 "Twitter error.....: ", $err->error, "\n";
}
Enhanced by Zemanta

Yes, yes, and sort of no.

I shoot a lot of interviews which required me to buy some gear a few years ago.  A Panasonic DV camera (which shoots on tape, agh!), wireless lav mic, wired lav mic, light kit, backdrop and obviously a tripod.

Recently I made a pretty huge discovery I should have realized a long time ago: The iPhone 4 shoots pretty damn good video!  Even with basically zero control over the image (iris, focus range, zoom), it’s pretty incredible.

So I made 2 purchases. 

First thing is to keep the image steady.  For this, I got the Glif, an awesome little rubber holder that has a thread at the bottom to mount the iPhone onto a tripod.  The Glif has a fascinating back story worth reading.  $20.

Next is to ensure you have good audio. NO ONE should have to suffer through flipcam-like video of someone speaking from 10 feet away where you can barely make out what they’re saying against tons of background noise.  (In a previous life I was a boom mic guy on film sets and learned a lot from a lot of sound guys.  Sound is arguably the most important part of a video.  People will tolerate grainy images.  They generally won’t tolerate crappy audio.)

I ordered this guy - an XLR adapter for the iPhone with a headphone jack so you can plug in a pro mic feed and monitor the audio with a headset.  $33 + shipping.

I’m going to do some test video at the next shoot (when I have my backdrop and lights all set up) and see how the iphone compares to my DV cam.

Side note: Recently I shot video of the president.  The video was about 6 minutes.  Apparently there is a cutoff of maybe 3-5 minutes, above which the iPhone doesn’t let you copy the video to your computer without 3rd party software or a workaround.  WTF? Really?  I’m not the only one upset about this.  What it means is that it’s an obstacle to fully committing to the iPhone to shoot somewhat lengthy videos.  This is really stupid and a major design flaw that should be fixed.

Enhanced by Zemanta

Oh Bama!

The Finals Round of the New York City Science and Engineering Fair was held today, March 29, at the Museum of Natural History in the Blue Whale room… and we had a surprise visitor!

A bit of background.  This is the third year I’ve been a judge for the fair.  (I highly recommend doing it if you want to meet some really talented kids.)  Basically you volunteer and request a category - mine was computer science - and get to speak with a few highly motivated, super smart high school students who explain the research they’re doing, how they did it, and why it’s important.  There are no baking soda and vinegar volcanoes.  I wish their projects were listed online because they are truly remarkable and deserve a lot more attention than just the 2 hour “public viewing” that happened this morning - attended by mostly parents - and then an exclusive “judges viewing” in the afternoon.  The first session is held at City College up in Washington Heights in early March, and the top students go on to this round at the museum.

When I arrived at the museum, I didn’t really think much of the metal detectors though they did seem odd since the group, consisting of students and judges (who were mostly teachers or professors) didn’t seem like the type who’d be packing heat.  Meanwhile, I don’t watch TV or read regular news (I do read quite a few blogs though!) so I didn’t know that Obama was in town.

We did our thing and spent time with the students we were assigned, asking questions to try to figure out how much of their research was original (they thought up) and how much was basically by their mentors. In general, students work under professors - sometimes in their lab, sometimes remotely - from all the universities in the area and it is often hard to tell if they are basically interns (still an impressive piece of research experience!) or if they truly came up with an original idea.

I had noticed all of the security and personnel and thought maybe Bloomberg was wandering around.  But after a quick look - one would expect he’d be surrounded by cameras - I didn’t see anything out of the ordinary.  I took a quick call with my mom who said maybe there were important people who I just wouldn’t recognize - like ambassadors or CEO types. Who knows.

Things were winding down and all the judges were up on the 2nd floor discussing which students had the best projects and should advance to the national competition when secret service and other scary looking enforcement types (who had not been so secret because there were dozens of them buzzing around) requested that we clear the floor and go down to the main area.

That’s when we realized something big was about to happen.  We waited 20-30 min. Apparently, this was happening while we waited!

A swarm of camera people came down the steps. False alarm.  Then the big O marched out, along with Bloomberg, though Mike was tough to get in frame. He’s a bit too short and posters a bit too tall.  See video. Also notice the poster “Platinum nanoparticles on carbon nanotubes…”

Obama then walked around and listened to a few students’ presentations, then walked back down and shook people’s hands in each of the aisles. You can hear the kids going wild the whole time!

I wasn’t the only one shooting video, though surprisingly I’m probably one of the few with decent quality - I saw a lot of blackberries and old iPhones.  I’m sure lots more will be on Youtube shortly.

The NY Observer, The Hill, AP via AJC reported.

Here’s a bit of controversy…&nb sp; Bloomberg didn’t say a single word at the event (at least that I could hear).  But later he tweeted:

The President and I talked about the importance of science and math education to our country’s future http://bit.ly/hHIzig

Hmmm. I think the video tells a different story.  Though if anyone knows science and technology it would be Bloomberg.  In addition to having more money than God, he also happens to have a BS in electrical engineering from, oh yeah, Johns Hopkins.  (All of my physics classes were held in the building known simply as “Bloomberg”.)

Update: I uploaded a scan of the official program listing all the projects. At least it gives a sense of what was there (a complex-sounding title doesn’t necessarily mean the project itself was complex, and vice versa).

Nycef - Booklet of Projects

Update 2:


That hand holding the iphone at the bottom - yeah that’s my hand! From the NYT.

Here’s a status update of the things I’m working on:

VocabSushi: Over the next 2 weeks, I’m going to start promoting the iPhone App (get it, it’s free!) with the help of my trusty virtual assistant Catina to dozens of blogs and outlets.  Tonight I got to demo VocabSushi (site and app) and VocabBomb.com at Web2NY, a well-known tech meetup group.

FareShare: We’re nearing the final stages of our redevelopment of the app.  There have been a few snags with our developer and our graphic designer, but things are moving along and hopefully by the end of this week we’ll have a more polished app.  Today I received an invitation to be part of a “taxi app” panel, moderated by TLC commissioner David Yassky, along with Weeels, CabCorner, TaxiMagic, and Uber, at the upcoming Transit Un-Conference on March 5-6.  This will be an awesome opportunity to showcase the new concepts we’ve been working on.

Cnvrge.com: This is a site I’m coding myself that I think could be a pretty cool service for people to meet each other at events.  I’ll be applying this week to DreamIt, a startup incubator that invests $10k and runs over the summer in NYC.  Early deadline is Feb 28. I’ve completed about 80% of the coding for the site so my plan is to get a few more features done this week.

PatientCommunicator.com: Look out for an upcoming magazine profile of my dad’s super high tech doctor’s office.  We are actively looking for doctors to demo the site to. This week I hope to lock down a video shoot date for a promo video / patient testimonials, start building up some leads, and contact a marketing person to start working on collateral.

IngeniousOwl.com: Yesterday was the official deadline for our developers to get the site done.  There are still some loose ends but we hope to hammer them all out this week and start beta testing this superior SAT prep course to students.

Enhanced by Zemanta

My team and I (and a couple hundred hackers) just finished up the craziness that was NYC Music Hack Day, an intense 24 hour hackathon that started with ~200 coders and ended with ~70(!!) 2 min demos of apps and cool stuff.

I had a lot of firsts at this event.  First time I spent this long coding on a craptastic netbook.  First time I was given the role of “designer” (srsly??).  First hack event.  First time I pushed and pulled on github, and first time I chatted on IRC (yeah, I know).  Also, the first time I put BBQ sauce and pesto on a slice of pizza.  (It was homemade by Brothers Green.)  And the first time I collaborated with other programmers and brainstormed on a white board (well, all of the walls were ‘white boards’ so it was hard not to).  Oh, and the first time that oddly entertaining but essentially useless app MeetGatsby worked - I checked in on 4sq, and Rameet, also at GeneralAssemb.ly, came over to the room we were working in.

What an awesome experience! It’s amazing to see just how much can get accomplished in such a short amount of time.  It’s almost like a class where you have to learn, quickly.  Everything you do or figure out or collaborate on is done for a very specific purpose so it makes it all not only worthwhile but exhilarating.  John Britton, the long-haired energetic Twilio-evangelist organizer of many of these events, described a hack weekend as a chance to learn a lot in a short amount of time, and in a way that is far more effective (if not infinitely more effective) than going to a lecture, or seminar or conference.  I totally agree.  At the beginning of the event, you’ve got THE guys/gals who built the APIs giving the presentations about them and help you get started on stuff (or even code things themselves, like in our case).

I learned a lot about programming and design. I put fonts into the webpage, wrote a function that grabbed full mp3s hosted across the web and checked to see that the artist/track matched what we were looking for, and even fired up a streaming player inside the webpage (those little play buttons aren’t so hard to make after all).

Lessons learned for the next event: Get a MVP working really early and then add little pieces.  Our group was 7 or 8, which is huge.  A lot of other groups were 1-3, so they were more flexible I think.  The endgame is a 2min demo that is awe-inspiring.  That’s hard to do, but it does mean a lot of the backend stuff gets scrapped or doesn’t get seen at all.  I think it probably makes sense to make the app as visually interesting as possible, where each feature is geared towards wow factor.  The guy who won played a violin without the violin.  That’s pretty awesome.  Other apps that might have been incredibly powerful and hard to build may not have been as sexy.

Valentun.es - Use it for Valentine’s Day!

It starts with a missed Valentine card and ends with a not-so-lovely apology. We wanted to make it insanely easy to craft a playlist that will make your Valentine swoon.

Valentun.es lets you enter your Valentine’s name and his or her specific interests. It then searches lyrics to discover music that uses those words, filters those songs by danceability and other taste factors and then serves up streaming tracks so you can listen and hand-pick the final playlist. Valentun.es then delivers the playlist to their cellphone.

What better way to say “Be my Valentine!” than through a tinny cellphone speaker via AT&T. If your special someone can listen all the way through 5 songs without dropping, you know s/he’s a keeper!

The iPhone app lets you be even more forgetful, so you can quickly create a Valentune on-the-go (presumably while shopping for flowers 5 minutes before making dinner reservations). Just like the web front end, the app lets you enter your Valentine’s info, view and listen to possible tracks, and select the ones you want to package as a playlist.

More info here: http://wiki.musichackday.org/index.php?title=ValenTun.es

We also won the MusiXmatch award for best demo to use their lyrics API - a trip to Italy. We drew straws. Alex, who traveled all the way from Ireland just for this hack event, got the ticket.

Now I think it’s time to sleep.

Enhanced by Zemanta

Image representing Urban Airship as depicted i...
Image via CrunchBase

I’m working on releasing a VocabSushi iPhone app that will let you learn vocab through classic books (Jane Austen, Joseph Conrad, etc).  It’s going to be free, come with 2 “books” (actually just the vocab and the sentences that use the vocab, it’s not an e-reader), and launch with 200 titles that users can buy in-app.

Urban Airship is handling the content acquisition component, and while they are pretty slick, the process is insanely tedious when dealing with this many pieces of content.

I’ll share the headache that I have to deal with:

  1. Go to Apple’s site and enter all the info for the item into a basic form
  2. Go to Urban Airship, enter almost the same info into another basic form, and upload the zip file for the content.  This goes into your “Test” account for the application.
  3. Break out your iPhone, fire up your app, and actually buy the content so it installs into your app correctly (using a test account).
  4. Take a screenshot of the successfully loaded content that is now in your app (ie, the chapter listing of the book).
  5. Copy that screenshot image to your computer, and upload that into the Apple site (this is to “prove” that the content downloaded correctly, so Apple can then review it).
  6. Click to “approve” the content (in Apple’s site)
  7. Go back to Urban Airship and then re upload the exact same content, and fill in the exact same info into the exact same form, except this time it goes into the “Production” account for the app.
  8. Do all of this 200+ f’ing times! (if there are any mistakes in content you have to manually upload all the files again, one by one)

This is such a needlessly painful process since none of these forms offer the ability to bulk upload… at all… even though it would be really simple since there are only a few simple fields.

So I had a virtual assistant of mine manage this stuff.  But then we ended up making some changes to the books so we had to re upload all the content all over again.  I knew this would happen at least a few more times no matter how careful we were, so there had to be a better way that could be partially automated.

I turned to my trusty friend Perl to see if I could have it automatically log into Urban Airship to re upload all the files in a loop.  I used the module Mechanize to tackle it, and it was a pretty straightforward process:

#!/usr/bin/perl

use WWW::Mechanize;
use HTTP::Cookies;

# login to UA
my $bookpath = 'path';
my $username = "username";
my $password = "password";

my $url = 'https://go.urbanairship.com/accounts/login/';

# login to UA
my $mech = WWW::Mechanize->new();
$mech->cookie_jar(HTTP::Cookies->new());
$mech->get($url);
$mech->form_number('1');

$mech->field('username', $username);
$mech->field('password', $password);
$mech->submit();

die unless ($mech->success);

$mech->follow_link( text => 'VocabSushi Test', n=> 1 );
$mech->follow_link( text => 'In App Content', n=> 1 );

# get list of book titles
opendir(DIR, $bookpath) || die("Cannot open directory");
@books= readdir(DIR);
sort(@books);
closedir(DIR);

# loop through all the book titles
foreach $book (@books) {
    unless ( ($book eq ".") || ($book eq "..") ) { 
       
        $filename = $bookpath . $book;
        
        # get book name
        $book =~ /(.+)\.zip/;
        $linktext = $1;
        
        $mech->follow_link( text => "$linktext", n=> 1 );

        # set the field for content
        $mech->field('content', $filename);
        $mech->submit();
        die unless ($mech->success);
        
        # go back to beginning
        $mech->follow_link( text => 'In App Content', n=> 1 );
        
        print "$i\t[$linktext]\n";
        
    } # unless
} # foreach

(By the way, the pretty formatting above was done using tohtml.com. It should be in color and stuff but I guess my Tumblr theme kills the CSS?)

The above worked great… for about 2 hours (I was just testing it).  Turns out, at literally the exact same time I was writing this script, Urban Airship was rolling out a slight modification to how the content files get uploaded.  They started using Flash to do it, rather than a simple web form, as it is more reliable for larger files.  Mechanize and Perl do not play nice with Flash and I’m not talented enough to figure out a quick workaround.

I posted my frustrations to their support board.  Within 20 minutes, their senior engineer, Adam, posted this:

10:55am: Sorry for the trouble. We changed the form to make uploads more reliable for large content, where it could spin for a while and a user has no idea if it succeeded. We didn’t thin of swimsuit automating it, since each product id has to be entered into iTunes connect manually. We’ll talk first thing this morning and see what we can do to help.

12:54pm: We talked, and this afternoon we’ll spin up a web head running the code you were targeting, so that you can do this import. It won’t be permanent, but it’ll get you past this block.

I’ll let you know when it’s up.

By 5pm they sent me a link to an Amazon EC2 server they had spun up just for this.  I ran my script and all went well!  This was pretty stellar support, (though I’ve

Although the next problem was on Apple’s end.  While trying to buy content I got this error:

This looks like an error that a lot of people are getting, including my developer and at least another Urban Airship user.

I wish Apple got their s**t together on this, since it’s literally been a week.

Furthermore, I’d really like to see some bulk upload options to simplify this whole needlessly tedious process.  I’m sure this is the easiest way for Apple/UA to handle users but from my perspective, it’s a giant drain on time and energy and is just stupid all around.  The process I described above can be mostly automated.  I’m not sure why a dumb form is the means of getting data into these sites, but it’s almost insulting how inefficient it is, like it was set up to deliberately slow people down from adding in-app content.

I’d like these sites to simply value their users’ time just a little bit.  If they did, you would end up seeing much more efficient processes.

Enhanced by Zemanta

VLC Portable
Image via Wikipedia

Wow - the iPhone just became a lot more amazing.  VLC is software that plays any video format.  It is my go to player for videos that I, ahem, acquire.

Whenever I ride the subway or bus I watch video on my iPhone.  Movies, TV shows, and TED talks.  Before the VLC app, in order to get video on to the iPhone I had to convert (transcode) the files to MP4 (an iPhone friendly format) using SUPER, a free but somewhat wonky transcoder.  Then I’d copy them to iTunes.  The process was painful because the conversion takes maybe 1/3 or 1/4 of the full playing time of the video - so a 22 min episode still takes more than 5 min to convert.  Plus I am lazy so I’d do this as a batch overnight process once I accumulated a bunch of stuff.

No more.

Now all I need to do is open iTunes, click on apps and VLC, and then click “ADD” and select all the stuff I want to copy.  Super fast, really easy, and the playback is flawless and looks amazing.

Get the app here.

Enhanced by Zemanta

Researching the books for my upcoming VocabSushi iphone app, I came across the 1912 bestseller “The Mafulu” by Robert Williamson, which is about the mountain people of British New Guinea.  Ok, it’s not a bestseller, I made that up.  Also, I didn’t make it past the title, though I’m sure it’s a riveting read.  I think you’ll agree the reason why is staring you in the face.

This is just about the funniest thing I’ve seen today.  I love that the Mafulu people sported the male string thong like Chippendale dancers.  Wow.

Enhanced by Zemanta

Looking south from Top of the Rock, New York City
Image via Wikipedia

I don’t usually write about minutiae of what I do on a daily basis, but yesterday’s events are just too amusing to pass up.  At the end of the day I realized “wow, this is why I love NYC.  This stuff could only happen here.”

12:45pm: Met up with Aaron at Veselka, a famous Greek diner in the E village.

1:15pm: Went to nine different bars in the area to distribute stacks of promo cards for Fare/Share.  (Where else can you walk to that many bars in about an hour?)  At the final bar, I explained to the bartender that this was an iPhone app that… and she cut me off and said “well I have a BlackBerry,” while cutting up limes.  I said well, most people on BBs don’t use apps like this and anyway there’s a web app for everyone else.  “Everyone else!?” she said.  It was an amusing exchange until it went from awkward to a little belligerent.  “I’ll just leave a stack here for you,” I said and left.  She was a feisty one.

Walking between bars we passed Alan Cummings.  I said, “Aaron, that was the guy from ‘Mary and Jane’s 40th Anniversary’”.

“You mean Romy and Michelle’s High School Reunion?”  Yes!  The guy in the helicopter.

3:05pm: I walk up towards 21st street to a meeting.  On the way I overhear two guys talking on the corner of Union Square Park, one is showing the other an iPhone and says “…I took the SIM card out and it works perfectly…”  An obvious Craigslist exchange if I’ve ever seen one!

3:30pm: Meet up with the head of Stoked.org, a non-profit after school program described thusly:

Stoked’s mission is to develop Successful Teens with Opportunity, Knowledge, Experience, and Determination through action sports and mentoring.

The founder loves VocabSushi and wants to use it with the students in the program so they can read more and keep their 100% graduation rate.  I’m excited to work with him and his program.  (I might even go on their snowboarding adventure trip!)

4:30pm: Meet up with Ed at the world-famous Shake Shack.  He emailed Fare/Share two days ago and said he was interested in what we were doing.  He’s working at outside.in, an interesting hyperlocal news startup, but he’s also enrolled in the Founder Institute program, (I was accepted but did not enroll).  Ed was coming up with ideas for the FI (you have to start a company or you don’t graduate) and he thought of “TaxiTwist” “TaxiTwits.com”, but the head of the program Ed’s cousin (who he’s in the program with, who started Wattzy) referred him to Fare/Share, and a connection was made.

Ed is The NYC Nomad.  He is living each week in a different neighborhood (mostly on the floors of friends of friends).  In order to get to know the areas really well, he takes his hosts out to dinners and other events.  And he blogs extensively about his experiences.

5:45pm: I hop on a 6 to 86th street, and stop for a bite at the Corner Bagel Market.  There was one table with 3 girls who were obviously in high school, maybe even junior high.  An older guy who apparently is a “regular” at this place and was sitting in the corner had walked over and started up a conversation with them - something about how he wrote a book and that they should buy it, and that they were lovely girls (“You all look like you’re in college, do you go to college around here?”), and that if they stuck around he would be happy to write them all poems.  He was a pretty creepy old guy, but harmless (and the shop’s staff seemed to know him).  It was a bizarre interaction but not uncommon at all in this city.  In another city, the old guy might be a darker character, but here he’s just an old neighborhood guy who is a little clueless.

6:30pm: Tutored a student whose lives on the same floor as Katie Couric.

7:45pm: Walked home through Central Park.

Gotta love NYC!

Enhanced by Zemanta

Image representing Fare/Share as depicted in C...
Image via CrunchBase

I sat down with Current TV last month to discuss Fare/Share, the iphone app that lets New Yorkers share cabs and tell friends where they’re heading.  Amazingly, I don’t sound half bad!  The segment just came out today.  Check it out:

Enhanced by Zemanta

My father is a primary care physician in private practice in Larchmont. What’s particularly interesting about his situation is that, with my help, he went digital and paperless about 10 years ago. You walk into his office and there is zero paper and no receptionist/secretaries (he once had three). He bills himself as a micro-practice — he answers all calls himself with his Bluetooth earpiece and an iPhone. He does all of his own billing. He never paid a dime for EMR software - we set up his system using simple applications like MS Word and Acrobat and avoided having a $30k EMR. In 2002 we wrote a paper about the office conversion but it was rejected by NEJM and JAMA. We were in Medical Economics (see below). That was 8 years ago. He has made leaps and bounds since then.

Medical Economics - Dr Novich 2002

While many primary care doctors are trying to remain profitable by seeing volume (30+ patients a day) or closing shop (and joining larger groups), my dad has slashed his overhead to literally a fraction of what a typical office runs at. That has allowed him to not only stay in practice but provide better care to his patients. He has been so committed to cutting costs that he actually cleans the bathroom and vacuums his office himself. Last year we created The Patient Communicator which allows his patients to log in and make appointments, pay their copays online, and communicate with him, for questions, prescriptions, and lab studies.

He had been using email for years, but found it to be disorganized, insecure and ineffective for knocking out key tasks like appointment scheduling. So I think while the hot story these days is about the less-than-perfect implementation of enterprise EMR systems and the poor use of technology by doctors and staff, my father’s story is a remarkable example of how freely available technology can revolutionize a practice and medicine.

If you are a doctor, work with medical software, or are curious to see what a 21st century office looks like, contact me.

Enhanced by Zemanta