I wrote Phoneify over the last couple of weeks using Rails 3, Twilio and a variety of Gems, putting in about 2 hours per day. I'd love any feedback from the HN community on any aspects of the site (design, API construction, documentation, marketing, pricing which is TBD).
On a related note: I have to say that I'm really flying with Rails 3. Typically I roll with Django, but have been super impressed with the Rails 3. Feels really clean, and there are some Gems that make the more mundane parts of the webapp construction fun and agile: Haml/Sass, blueprint, Fancy-buttons, Devise.
I'll probably write up a blog post soon on all the tricks & shortcuts I used to get this off the ground. Many of the shortcuts have to do with design and layout, and less so about backend coding.
> Typically I roll with Django, but have been super impressed with the Rails 3.
Can you explain what specifically you like more about Rails? I've been using Django because my initial exposure to Rails confused me - after running the basic "start project" command there were dozens of files generated - compared to the 4 that get generated with Django (and the 3 or 4 more when you start a Django "app").
I'm also curious if you're planning on turning this site into a money-maker, just because it says joining will get you "50 free", but I don't see any pricing anywhere else?
I can't go as far as saying that I prefer one more than the other. They're both pretty awesome in their own way.
I'm actually way more comfortable with Django, but the Gem eco-system with Rails is amazingly mature, and the Rack based approach of Rails 3 seems to have positioned the framework really well, architecturally. I found Ruby/Rails idioms pretty confusing when beginning. But most of the learning curve w/ simple projects is really about "where stuff lives", and that's the same effort to learn in any framework.
Django pros: Admin, Python, Explicit model definitions (not via introspection like Active Record), South > Rails migrations (IMO), easier to create relational models, query syntax rocks.
this is a great list of gems, just wondering how you discovered all these. What do you use as a discovery tool for gems, or do you just search for them prior to coding yourself? For example I've never heard of awesome_print or kaminari.
http://ruby-toolbox.com/ is a pretty great way to vet (through popularity) gems you're thinking of using. They are sorted by category. aweseome_print is listed in the irb tools category, didn't see kaminari.
Amazing--I've worked on projects before where if the barriers to integrating with existing solutions were lower, phone verification would have really helped. This is an awesome example of a niche problem, with an elegantly simple solution. If only you made this a couple of years ago...
+1 for great execution. Nice visuals. Did you do them yourself? If not, a reference would be great.
+1 for needing pricing details upfront. I'll suggest $.10/call or SMS but I might pay up to $.50 for my application. I could be using this within a couple of weeks for a project I'm building.
But... You must have noticed that there's another company using Phonify.com (no e). You're going to get in trouble with trademark infringement if you launch with this. Seriously, it's an easy call, and I wouldn't say that your space in the commerce realm is too far apart to matter. [insert flashing red light] Now maybe the other company won't have a trademark, in which case maybe you could use this, but then you can't trademark it yourself. Given the potential name confusion (I just typed their URL when I wanted yours a minute ago), I'd think hard about this before charging anyone for anything.
Some PHP sample code wouldn't hurt.
There are several Wordpress plugins for signing up for an email mailing list. Adding your service to that would be compelling. Note that the Wordpress people have a strong interpretation of the GPL (that is they assert that all plugins are covered under GPL and must be $free) though. But maybe that doesn't matter if you're charging per call.
Going further down that train of thought, I'm thinking someone might duplicate this functionality for Wordpress and just require the user to have Twilio account (as some folks require an Amazon storage account, or whatever). Twilio signup is a low bar to jump, so I'm thinking this is a reason to keep your fees low.
I like it. The only thing that bothered me was that I couldn't find the prices. But it looks like that is because the prices don't exist yet.
I would definitely look at using this, but only for a pretty serious application. Nothing I've worked on so far has required that level of authenticity, or verification of a working phone.
Phone numbers are less disposable than email addresses (generally speaking), and thus you are less likely to have fraudulent/shady transactions occur on your site if the user is phone verified.
This may not be super important if all you want to do is prevent lowly Forum spam (ReCaptcha may be all you need in this case). But phone verification can be particularly useful when the cost of fraudulent transaction is high (like user purchasing goods on your site with a stolen credit card, etc).
As an aside, I saw Amazon and Craigslist now use phone verification for more critical parts of workflow. Which inspired me to build Phoneify as a JS widget than anyone could use.
I tried your demo but it didn't work for me. I opted to verify by phone, got the phone call, entered the verification code but it said verification code incorrect (i typed it correctly - did it twice).
2 questions:
- works world-wide or US only?
- how much do you charge per verification (SMS / voice)... can't find on a website, but I see I have $20 balance
You account balance is purely stubbed out. Right now there is no balance tracking (so it's basically free until I bake that in).
I probably should have put some thought into pricing before posting on HN, but pricing is one of those eternally difficult things so I punted for now.
International SMS verifications should work, but some people are currently reporting issues with that. No voice verification for International planned (for cost reasons).
Curious what your hosting / reliability / scalability strategy is, if any at this point?
If my web site sign ups would rely on your service I'd be looking to be reassured about how robust it is going to be. Of course, after 20 hours it's amazing you have a front page, let alone a scalability plan so this is just a suggestion really rather than a question, but if you do have this designed in I'd be curious to hear it.
I'll soon be running on multiple (2 min) servers in different locations, for availability. Will probably stick to Linode. I use Webmin to monitor all processes and get realtime alerts if something amiss occurs.
Performance wise, there aren't many bottlenecks right now. Switching in Resque for my job queue (replacing Delayed Job) will make everything a little faster. If the queue ever starts to get large, I can quickly fire up another server as a dedicated worker.
I am leveraging AWS Cloudfront as a CDN for the widget JS, so the widget will load super fast for everyone. I offload all static assets when I can. Google CDN for JQuery.
The only immediate point of concern is the real-time API. That will soon have some throttling/limits on it to prevent abuse. I highly prefer people use the Post-back method to get notified of verifications (push is always better than poll).
As for proving reliability, I'm thinking of putting up public Pingdom reports for transparency.
I think its a better user experience to always show the number on a screen. Otherwise the user has to listen to the computerized voice recite the passcode, and they have to memorize it before punching it in.
This way, temporary memorization of passcode is avoided in both cases. The passcode is always rendered to pixels (computer screen or phone screen).
Would like to see pricing. Don't be shy about it, dude. This is valuable service you're offering with a barrier of entry about as high as placing a LIKE button on one's page.
I experienced a bug with the demo. When I entered the first letter of the verification code it said "message recording". Subsequent tries didn't work either.
I have the very same app 80% complete. I haven't launched it because of all the caveats with international numbers. It's hard to try to sell this to web stores and the like that take orders from around the world if I can't support half their customers' numbers.
Seconded. When I press "Verify w/Call" it says "international phone numbers can only verify by TXT message. Please use the TXT messaging option." But Verify by TXT doesn't seem to do anything. Is it supposed to work?
Listic is correct. We (Twilio) do not support international SMS on accounts by default. We are currently offering it in beta. However, after a quick email to Sandeep just now, I turned it on for his account and you should be able to test International SMS on Phoneify now. Reminder: it is currently in beta, so there may be some deliverability issues in countries that don't have great coverage. Let us know so we can make it better.
For what it's worth it worked amazingly fast for me in Panama. It generally takes around 6 to 10 seconds for the sms to arrive from people a meter from myself. Twilio's sms arrived a two or three seconds after I pressed send.
Wow. That's an amazing idea and gorgeously executed. You should be really proud of that, put some prices in - you're in a great position to make a killing from this service.
On a related note: I have to say that I'm really flying with Rails 3. Typically I roll with Django, but have been super impressed with the Rails 3. Feels really clean, and there are some Gems that make the more mundane parts of the webapp construction fun and agile: Haml/Sass, blueprint, Fancy-buttons, Devise.
I'll probably write up a blog post soon on all the tricks & shortcuts I used to get this off the ground. Many of the shortcuts have to do with design and layout, and less so about backend coding.