I don't feel that OAuth is a good solution for desktop applications.  
If a user doesn't want the application to access their Twitter  
account, why'd they download it in the first place? It seems very  
redundant.

But the real problem is for mobile devices, especially for devices  
that don't have Copy and Paste functions (like the iPhone, up until  
recently). Twitter doesn't have a login page for OAuth that really is  
made for mobile phones, so the user has to perform extra actions  
(zooming, panning, etc.) to be able to login. The PIN method of  
verification doesn't work well for phones that don't have Copy and  
Paste (like pre-3.0 iPhone, if you plan on supporting that), but then  
neither does the Browser option work, because you can't really launch  
an app from a URL (with the exception of the iPhone, but Twitter  
doesn't allow non-standard URL schemes).

OAuth on mobile devices doesn't work. Let's go back to the iPhone  
(which I use as an example because I am a developer for it). You can't  
be contaminated with viruses, you can't get malware, and you can't get  
spyware. The only way you can get software at all ("legally") is to  
get it from Apple, through the App Store, and Apple already does  
filtering, and strips out malicious apps. Since the App Store is the  
only medium to get apps, you have to want and then go download them.  
There is no third-party here putting malicious code on your device,  
and stealing your credentials. There is only the users, who wants to  
use your app, downloads it, and then is asked if wants to allow this  
app to access Twitter. If he doesn't want to let it access Twitter,  
why the heck did the user download the app in the first place?

Sure, I chose the iPhone, but from what I understand, other phones  
have app stores of their own: Android has their Marketplace,  
Blackberry has one, Palm will soon get one if they don't already have  
one. People want to use Twitter on these devices, even full clients.  
But trying to login to OAuth on that tiny screen, with a PIN that you  
may or may not be able to copy and paste (depending on your device  
capabilities), is just a big hassle.

For my Twitter client, I've gone ahead and done all the OAuth  
authentication behind the scenes. I'll ask them for a username and  
password, and log them into OAuh myself without them having to ever  
see a web browser. "Wait! You shouldn't do that!" Whatever! I'm  
selling this Twitter client on the App Store for two dollars. If a  
user doesn't want to let my app access Twitter, why is he wasting two  
bucks to download an app he will not use? It does not make sense!

I understand that OAuth is implemented to give the user an extra net  
of security, but I'm not sure that the OAuth system is the best one to  
use. What would be best is a system that can be used on any platform,  
with any device, mobile or desktop. Modifying the login to do  
something different for mobile clients, like a different way of  
authenticating (such as choosing a picture. Show a picture in the web  
browser, send possible images to the client, then have the user choose  
the correct picture they saw), would be fantastic! At the very least,  
mobile versions of OAuth login and authentication should be implemented.

On another note, how "Open Source friendly" is OAuth? I'm not sure if  
people who write open source software want to be giving out their  
Consumer Secret key in their source code for spammers to possible get  
a hold of, build a bot using that key and secret, and then spam  
Twitter using that key, which Twitter might block, thus, completely  
disabling your app for all your users. This is terrible for people who  
might write open source iPhone clients, as the approval process for  
these apps takes 2 weeks: 2 weeks your users can't use your app, and   
might switch over to another client.

  - Jason

On Aug 16, 2009, at 7:18 AM, Andrew Badera wrote:

>
> On Sun, Aug 16, 2009 at 7:08 AM, Nicole Simon<[email protected]> wrote:
>>
>>
>> On Sat, Aug 15, 2009 at 22:26, Kevin Mesiab <[email protected]>  
>> wrote:
>>>
>>> The interaction seems unintuitive and redundant for users who have
>>> already granted our application 'trust' by installing it.
>>
>> I can't understand this notion.
>> Every single day users are sheep enough to do stupid things -
>> they just need to be guided to do so. And then they will follow.
>>
>> Every single day (especially the normal users) install dozens of  
>> apps on
>> facebook
>> without even thinking about that box in the middle nor reading it.  
>> And 'the
>> experienced
>> ones' who teach the sheeps make sure that "never use your password"  
>> gets
>> drilled
>> into their heads.
>>
>> Before there was no alternative. Now there is a better way.From now  
>> it is
>> "password?
>> BAD. Using without password and authorize with twitter: good!"
>>
>> Yes, they have granted you the trust of installing it, but could  
>> you please
>> set the
>> mindset to the goal? "as part of our x step installation step, this  
>> is what
>> is going to happen:
>> - download app
>> - install app
>> - test app
>> - now the fun part: making sure you get the best ou tof this  
>> experience and
>> connect it with
>> twitter itself, and this is how it looks. We are using the secure  
>> process
>> where you
>> do not need to enter anywhere your password. we never ask for your  
>> password,
>> because
>> we are the good guys!
>> - do this
>> - do that
>> and tada! you can start using our app! thanks for trusting us!"
>>
>> Where is the problem?
>> It only is unintuitve when you make it as such. of course the above  
>> is too
>> complicated,
>> so the real steps only should be "3 easy steps to go - download,  
>> install,
>> connect, use!" or something like it.
>>
>> But as long as you treat it as the ugly way you don't want to use,  
>> you will
>> not make
>> it easy on you.
>>
>> Nicole
>>
>
> Agreed. OAuth presents a standardized and centralized process, a
> universal standard which users can become familiar with, rather than
> any given app's arbritrary authorization mechanisms and actual levels
> of trustability.
>
> ∞ Andy Badera
> ∞ This email is: [ ] bloggable [x] ask first [ ] private
> ∞ Google me: http://www.google.com/search?q=(andrew+badera)+OR+(andy+bader 
> a)

Reply via email to