I see no reason why Twitter should open source their app. They have absolutely no obligation to, and IMO, should not be pressured to do so just because some blogger feels that " there is an increasing divide between the UI patterns in their Android app versus the UI patterns that most developers work with".
The author says: "And lastly, Twitter should release this app because they said they would.".
Well, here is the statement from Twitter:
"We had a great time working with the Android team and are thrilled that Google will be open sourcing the code used in this app in the near future."
Saying Google will open source the code used in this app is completely different from saying "we ourselves will open source this app". It almost certainly means that Google will open source some small component that is used in the app. IMO, it is a bit of a leap to interpret that statement as saying "Twitter will open source the app".
IMO, in the absence of a more complete statement from Twitter regarding open sourcing their app, it is dishonest of the blogger to say Twitter "has no interest in making good on their word" when it seems like the blogger is putting words in Twitter's mouth. If a more explicit statement exists from Twitter, then the blogger should have cited that, instead of the slightly-but-not-really-ambiguous statement from Twitter that he used.
Twitter has a solid collection of open source stuff on GitHub, i.e. the Twitter Bootstrap. Sure, maybe they don't have to release the ENTIRE app, but it would be ideal if they could contribute some of their work (such as the UI patterns) back to the community.
So the argument is basically, "I want my app to look like yours; so open source it for me to steal the layout." Is this really how people write software these days?
It's better for the overall ecosystem. Higher quality apps means more time spent on your phone. If we can't duplicate the features of the app that aren't domain-specific, it results in an overall worse feel for the end user.
"You'll notice that Twitter is no longer using the standard Android ListActivity. There is a slight border around this list right now, which is VERY new to Android apps."
A ListView with some layout_margin ? Am I missing something special ?
Yeah i can think of a number of ways to do this with padding or layout margins and then setting a shape drawable or 9 patch for as the backround of the list or its container. In fact i just checked and i have done this for a couple published apps. The pull to refresh feature is interesting. I would be tempted to mess with the sliding door class for a solution.
I don't see it either. There is nothing in that layout that I don't know how to implement, so unless I'm missing something more subtle, I don't think it's anything new.
I always felt the ListView needed to expand the screen. I could be wrong though, this might just be a layout_marginLeft or layout_paddingLeft attribute. Either way, it is a very new pattern for Android apps. You'll also notice the rounded corners, which I don't think come naturally with a ListView margin.
I understand that Twitter said they were going to open source their application a very long time ago, but I've found that if I am interested on how they do anything the folks on the official Android irc channel are very helpful. Their initial version of the application used the dashboard interface that google revealed as the future of Android UI but there was absolutely no example code on how to do it until the recent Google I/O application that was open sourced. The people on the IRC channel helped me replicate that very quickly.
If you were angry enough to write a blog post, you could've also looked into decompiling the code and seeing how they do it yourself. If you use dex2jar:
you can see that the view you're discussing is a custom ListView they made called RefreshableListView which actually does extend ListView so it is technically a ListView.
Most of Facebook's Android app is just a web view as is their iPad app and probably their iPhone app too. I wouldn't be surprised if the Twitter Android app is also a web view.
Pull to Refresh was invented by Loren Brichter, author of the Tweetie app for iPhone, and he filed a patent for it (http://gorumors.com/twitter-patent-drag-to-refresh/2754292). As the article states, the patent application was submitted the day before Tweetie was acquired by Twitter, so we don't know for sure if Loren or Twitter own it, but it sure isn't Apple.
[+] [-] king_magic|14 years ago|reply
The author says: "And lastly, Twitter should release this app because they said they would.".
Well, here is the statement from Twitter:
"We had a great time working with the Android team and are thrilled that Google will be open sourcing the code used in this app in the near future."
Saying Google will open source the code used in this app is completely different from saying "we ourselves will open source this app". It almost certainly means that Google will open source some small component that is used in the app. IMO, it is a bit of a leap to interpret that statement as saying "Twitter will open source the app".
IMO, in the absence of a more complete statement from Twitter regarding open sourcing their app, it is dishonest of the blogger to say Twitter "has no interest in making good on their word" when it seems like the blogger is putting words in Twitter's mouth. If a more explicit statement exists from Twitter, then the blogger should have cited that, instead of the slightly-but-not-really-ambiguous statement from Twitter that he used.
[+] [-] chuinard|14 years ago|reply
http://stackoverflow.com/questions/4014426/twitter-android-a...
http://stackoverflow.com/questions/3413980/android-twitter-a...
Twitter has a solid collection of open source stuff on GitHub, i.e. the Twitter Bootstrap. Sure, maybe they don't have to release the ENTIRE app, but it would be ideal if they could contribute some of their work (such as the UI patterns) back to the community.
[+] [-] adestefan|14 years ago|reply
[+] [-] speakbin|14 years ago|reply
[+] [-] nekgrim|14 years ago|reply
A ListView with some layout_margin ? Am I missing something special ?
[+] [-] nutjob123|14 years ago|reply
[+] [-] RobAtticus|14 years ago|reply
[+] [-] chuinard|14 years ago|reply
[+] [-] Pewpewarrows|14 years ago|reply
[+] [-] jc4p|14 years ago|reply
If you were angry enough to write a blog post, you could've also looked into decompiling the code and seeing how they do it yourself. If you use dex2jar:
http://code.google.com/p/dex2jar/
you can see that the view you're discussing is a custom ListView they made called RefreshableListView which actually does extend ListView so it is technically a ListView.
[+] [-] lnanek|14 years ago|reply
Open sourcing it would just help people to publish slightly different versions with little effort - which is what they say they don't want...
[+] [-] nt_mark|14 years ago|reply
[+] [-] alimbada|14 years ago|reply
[+] [-] adelevie|14 years ago|reply
[+] [-] outside1234|14 years ago|reply
[+] [-] martingordon|14 years ago|reply
Pull to Refresh was invented by Loren Brichter, author of the Tweetie app for iPhone, and he filed a patent for it (http://gorumors.com/twitter-patent-drag-to-refresh/2754292). As the article states, the patent application was submitted the day before Tweetie was acquired by Twitter, so we don't know for sure if Loren or Twitter own it, but it sure isn't Apple.
[+] [-] thetrendycyborg|14 years ago|reply
[+] [-] sootzoo|14 years ago|reply