• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[Android 4+][App] Talon for Twitter

Search This thread

klinkdawg24

Senior Member
Nov 12, 2012
368
307
Iowa
v5ljd1.png

Note: This version of the app has hit its token limit, for more info on my plans and its future, check out this post: http://forum.xda-developers.com/showpost.php?p=56228193&postcount=553

Hello guys! From the creators of Sliding Messaging Pro, I would like to announce one of our new projects: Talon for Twitter!

This one, along with klinkdawg's EvolveSMS are the two brand new apps that we have been creating the past few months. They are full of polish, features, and beautiful design and KitKat style! Both of these apps are availible on the Google Play store today, but lets get to know Talon a little first :)

Talon for Twitter - Google Play Store



-----------------------------------------------------

Play Store Description:
Get fully immersed in your Twitter with this beautiful, feature PACKED Twitter client with a design that actually makes sense!

Created with Android 4.4 (KitKat) in mind. Includes full screen layouts, stunning animations and more! Of course that doesn't mean earlier versions of android get left out! The only thing that wasn't able to be recreated in Android 4.3 and below was the transparent navigation and status bars... Sorry! It just isn't possible :(

Beautiful, up-to-date layouts, designs, and neat animations isn't the only thing Talon has going for it though! The list of features is enormous as well, doing everything you could ever want from a Twitter app right off the bat. Even though it is new, I have added every single major and minor Twitter feature that I think is absolutely essential plus a ton that most people wouldn't even think of. Here is a pretty comprehensive list of its features:

Twitter features:
- Live streaming support
- Support for 2 accounts
- View your timelines (main, mentions, direct messages, links, and pictures)
- View retweets, favorites, Local and world trending, user profiles, Twitter lists, and more
- Favorite users
- Search Twitter
- Delete, favorite, retweet, quote, and reply to statuses
- view replies to statuses
- Update your profile picture, banner, location, and user description
- block, follow, and add users to lists
- search for your friends to tweet at
- Attach pictures to your tweets
- Attach locations to your tweets
- And the list goes on :)

Customization features:
- Extremely powerful developer theme engine (Read the second post :D)
- Choose between either "Talon" or "Hangouts" layouts
- Choose from 3 beautiful base themes (light, dark, and pitch black)
- Custom text sizes
- Night mode
- Auto-Refresh options
- Custom notification settings
- And many other goodies in there as well!

App Features:
- "Talon Pull" to be always listening for interactions (mentions, retweets, favorites, new followers, and direct messages)
- Expandable, actionable, and dynamic notification system
- Full app popup
- Full emoji support
- View in-line Twitter and Instagram pictures
- View in-line YouTube thumbnails
- Native YouTube player
- In-app browser
- Complete landscape and tablet modes
- Advance to new pages in a "windowed" viewing mode
- Never leave your timeline with in-line replies, favorites, and retweets
- Actionable toast bar so you always know where you are and can jump to the top
- Hiding action bar
- "Do not disturb" mode
- Widget for main timeline
- DashClock Extension
- Draft system for unsent/failed tweets
- Google style pull to refresh for quick refreshing
- Save tweet pictures
- Share content with other apps, to and from Talon

You will never go back to your old Twitter client again!

Enjoy Talon and don't hesitate to contact me with questions, requests, or bugs!
Thanks!

Contact me (Luke Klinker):
Email: [email protected]
My Twitter: @lukeklinker
Talon's Twitter: @TalonAndroid

Google+ Beta Page

Emojis
Here are two different emoji plugins for you to choose from, choose whichever suits you best, install it and never worry about it again!
Sliding Emoji Keyboard - Android
Sliding Emoji Keyboard - iOS

Permissions Explained:
- Write to Storage: Saves pictures to your SD card and writes them into the cache.
- Read from Storage: Used when backing up settings.
- Location: Used for trends and attaching locations to tweets.
- Network Communication: Obviously have to be able to interact with Twitter ;)
- Network State: Used so the user can toggle background sync to only over WiFi.
- Run at Startup: Re-schedules the background refreshes.
- Keep Awake: Used for background refreshes and waking the screen.
- Vibrate: Used for the notifications.

Credits:
- Jacob Klinker: to many things to list! Tons of ideas, support, and inspiration
- Aaron Klinker: Icon Design
- Other open-source libraries and resources used can be found under the 'Get Help' section in settings.



-----------------------------------------------------

Screenshots:

dh8nwo.jpg
2w1uk9h.png
9kp5qp.png
wapvv4.png




-----------------------------------------------------

Closing Comments:

I have worked really hard to bring you guys a great experience right from the start this time and it really shows, from the login screen to the timelines, you will be fully satisfied with the design, execution and finesse that Talon brings to your phone. It isn't going to take months to get up to speed like Sliding Messaging did. I have designed this to be efficient, fast, and just work, right from the start. I learned a ton from that app and Talon goes to show just how much.

Hope you enjoy it as much as I do, sound off in the comments with question, concerns, suggestion, or whatever else you feel like saying about the app!




One more thing to say before I leave you here, please remember that this is XDA, and you are all expected to be a little bit different Android users, if you are having a force close or something, I would like you to be able to post a logcat of it. If you are wondering about why I did something the way I did, then I will probably explain it to you in a programming sense instead of how I would to a normal user on the Google+ beta page or something, because that makes much more sense to me, is easier on me, and you should be able to understand it a little bit better... Just keep that in mind and stay on topic please :D
 
Last edited:

klinkdawg24

Senior Member
Nov 12, 2012
368
307
Iowa
Frequently Asked Questions

Frequently Asked Questions


1.) Push Notifications

I am just going to say this now, before anyone asks: Push notifications will not be coming to Talon unless something changes with the Twitter APIs. I have created "Talon Pull" with is simply an always on, listening/streaming service that will receive new tweets from Twitter whenever your Twitter handle is included. To read more about this option, look at the "Talon Pull" section below the "Reasons" section.

Reasons
This will be the more technical part of this post, if you don't want to read and understand it, then you will have to just accept my answer from above. If you don't accept that I know what I am talking about... Then by all means, read on, I will try to keep it as simple as possible.

To access Twitter, they have provided us with the REST APIs (currently version 1.1). These APIs allow developers to communicate with Twitter in real time by just submitting requests to get data from the network. They make it relatively simple - if you know what your doing - to obtain the data that they allow you to get and store, but there are plenty of limitations to these APIs, which make sense: Twitter is a completely free service and make their money off of advertisements. They want people to use their official Twitter products (such as the web or their own Android app) to access their services because they are able to place advertisements in them and that is the only way they make money. So they just aren't going to make some things available for 3rd party developers.

One of those things is their push notification system. As I said before, they allow us to access their services with these REST APIs, but they also have a Streaming API available so that a 3rd party service, such as this one, could be "always connected". Sounds great right? Maybe, maybe not. More testing probably needs to go into it, because it is very new in Talon. For the past few weeks though, I can say that it doesn't seem to take up much more battery than sycning on an intervol does. So try it and let me know. I have done the best I can to optimize this service, but if you want to know more about it, read below in the "Talon Pull" section

What these streaming APIs should be used for is a server side interaction that would then connect to GCM (Google Cloud Messaging) and send push notifications from there. I would love to say I am working on something like this, but it isn't possible for a developer like me. I don't have the time, resources, or knowledge to set up a complex server like this. The knowledge I could get, but I am a 20 year old kid, working off of this 1 MB/sec internet connection while being a full time college student at the University of Iowa. I wouldn't be able to handle the upkeep of the system like this or the traffic. I just don't have the backend necessary for this type of thing, and there aren't many developers who do. So push notifications from the server side? Way out of the question.

That leaves only one thing to do: wait. Maybe Twitter will open up some kind of push notification service to it's developers, but I wouldn't count on that. The ideal thing for them to do would be to set up their own GCM server for us to communicate with, but I don't see that as being likely at all because of the advertising. That would take away one of the main draws for their app, leaving it with almost nothing that 3rd party developers can't do. For now though, "Talon Pull" seems to be working well and I would encourage you all to try it out. Battery seems to be fine, the one drawback is that you must be connected to a datasource right when the interaction happens or it won't be saved or shown.


Talon Pull - My solution/workaround
As I said before, this is NOT push notifications. Push notifications are sent to your device to notify you from some kind of server. They aren't always on, and only turn on when your device receives the info from the web service.

Talon Pull on the other hand, uses Twitter's Streaming API to just create an "always on" service to be constantly listening for and streaming tweets that contain your Twitter Handle. The way this works is that you are signed in with your API keys after you turn on the option to enable Talon Pull. I then just create this "listener" that Twitter's servers will send new tweets to. Luckily, they will take care of most of the filtering of those tweets on their end, to reduce the load as much as possible on your device (because before the filtering, it literally will receive every single public tweet that is happening. It was amazing when I first flipped and saw the tweets flowing over my log haha). So we filter it down to as few of tweets actually reaching your device as possible, then I start broadcasting the notifications when you receive the new ones.

Overall, it is a relatively simple process, the problem with it though, you have probably already realized, you have to be constantly connected with a data service or the app won't know when to receive the new tweets. Obviously that is the part that is going to end up taking the battery (if it does), not "bloated" or "un-optimized" code as some of you I sure believed. So far though, through my testing, it doesn't seem to have a very big impact on battery overall, but I suppose that it potentially could if you are using Twitter that much more than I do.

If there was a better way, I wish I could find it. I think that this is the method that most 3rd party services use to send you those fake "push notifications". So there ya have it, hope you learned something. It works well and it is the only way to get a lot of information like who favorited or retweeted your statuses


Conclusion
Thanks for the read, if you made it all the way, hope that gives you an idea as to why push notifications just aren't even an option at this point and what my solution to that problem has been, even if it is not ideal. It works, and it seems to be working quite well for me.

So just know: "Talon Pull" isn't quite the same as push notifications, but it is as close as you are going to get and is working better for me than I would have ever imagined. Enjoy!


2.) Translucency

Why aren’t my status bar and navigation bar translucent like in all of the screenshots?!?

This is an Android 4.4 KitKat feature only. Get a new phone/ROM if you want it.


3.) Theming Support and Limitations

We have created a pretty powerful theme engine for Talon and EvolveSMS this time around, but it isn't without its limitations.

The main app color will always be orange. Don't ask to change it. That isn't something I can theme dynamically or read from an add on package, themers can change the orange glow on the in-line buttons (favorite, retweet, and send), but that is as much as your are going to get with that one.


4.) Viewing users who "retweet" and "favorite" your statuses

This is another thing that isn't going to happen at this point. It isn't possible to get the user ID's or their names with the current version of the API's.

Maybe Twitter will open this up in the future, but I wouldn't get your hopes up.For now, the best you will get is the numbers on them

The only way to get this information is through the use of "Talon Pull" and the Streaming API's. When you get a retweet or favorite, it will be put in the interactions drawer on the right side of any activities with drawers.The only way to get this information is through the use of "Talon Pull" and the Streaming API's. When you get a retweet or favorite, it will be put in the interactions drawer on the right side of any activities with drawers.


5.) Clearing the Cache

If you know much about caching in Android, then you may wonder why in the world I would want to clear it every time you switch themes.

The answer is pretty simple: to vastly improve the performance and the smooth scrolling in the app, I save the profile pictures according to the current theme's style, whether that is circle (like the "Talon" layout) or square (like the "Hangouts" layout). This preference is also available to themers in the add-on themes.

By caching them directly as circles, it alleviates the need to do it on the fly which could consume quite a bit of processing power on older phones and would just be a complete waste to render them like that every time.

You may think it is a hassle, but you would be thanking me if you knew the difference it makes.

You can also view the current cache size and clear it manually from "Advanced Settings".


6.) Battery Consumption

If you use Talon a lot throughout the day, it is going to take up battery, simple as that. I find that on a 30 min refresh intervol for the different timelines and manually going in and browsing/updating throughout the day, it takes about 4-5% of my battery. I would say this is pretty normal because there are days that Google+ takes up to 10% with just casual browsing.

If that isn't acceptable for you though, then there are a few things you can do to reduce battery consumption:
1.) Turn down the refresh interval on the timelines. This is the big one. It is those background services that are going to drain your battery.
2.) Turn off "Refresh on Startup".
3.) Turn off "Talon Pull" and "Live Streaming"
4.) Don't have it sync the second account's mentions

And if all else fails... Get off Twitter and do something productive for awhile =D haha any app that accesses the internet and refreshes as much as a Twitter client is inherently going to use more battery in the background. There are ways to reduce it, but not always ways around it!


7.) Custom ROMs Immersive Mode

My custom ROM has "Immersive Mode" and Talon doesn't seem to play nice with it! What's up with that?!

The way that immersive mode works in your ROMs currently isn't so hot unfortunately. There is a reason Google didn't put it into the whole system because app developers would have problems implementing the "translucency" with conflicting system stuff.

Not to fret to much though, I was able to get things working smoothly with it in Talon. The problem was that my ListView's are expanded through the different system bars. This can be a big problem if you try to switch to "Immersive" in the middle of doing something in the app. You will notice the margins get all wanky on the top and the bottom of your lists.

It can be easily solve though by just restarting the app by swiping it out of your recent apps screen. Sorry, but that is the best I am going to be able to do here, Translucent bars an "Immersive Mode" just weren't meant to work together.
 

klinkdawg24

Senior Member
Nov 12, 2012
368
307
Iowa
Theming in Talon

Theming in Talon for Twitter
Real quick, before you get to far into the content, I want to let all you developers know about one of, if not the standout feature of Talon and EvolveSMS: one incredibly powerful theme engine.

Along with these apps, me and Jacob have completely redesigned and rethought our old "Theme Engine" from Sliding Messaging! Although the Sliding Messaging one was cool and great for the average user to customize, it was slow, cluttered, limited, and just bad design from a developer perspective. This won't be an issue with these apps though. We remade everything about it to bring you the ultimate themeing and customization experience, without the bloat and slowdowns. You won't be disappointed when you see what it can do!

All this theme engine takes is a little bit of knowledge about layouts and resources in Android, along with the Android SDK to compile and distribute your package as an APK, then you can make both of these apps into literally ANYTHING you want. We are able to read the layouts, drawables, and some of the colors directly from your compiled package and place them in our apps! Sweet huh, you thought this kind of design your own thing was only for homescreens :D

And the best part: it is completely free and you can easily share these themes with anyone when you are done by just sending the APK or putting it on the Google Play Store!

For more info on these and to start making Talon really your own, check out these links:

1.) Talon Theming Example/Walkthrough on GitHub
2.) Google+ Community Theming Section - A great place to share so anyone can see and use your themes, not just XDA users
3.) Google+ Theming Post
 

dems86

Senior Member
Nov 3, 2012
1,185
330
Sacramento
Amazing Twitter app, absolutely loving it so far. It is just stunning, and kudos to going with transparent navbar instead of immersive, it looks fantastic and doesn't require a gesutre to get to.
 

Pac-Man

Senior Member
Dec 19, 2010
507
81
Madrid
adol.pw
Well, a little embarrassing, but because the logic behind coding more than that gets way complex... haha

Don't worry! But I hope you'll add multiaccount. There're a lot of people that love it :)

Anyway it's a good app with a perfect design. My sincerelly congratulations! :)

Enviado desde mi Nexus 4 mediante Tapatalk
 

alkspo

Senior Member
Apr 28, 2012
942
606
Scandinavia
wow this app looks beautiful, would love to try it, unfortunately, i dont have a credit card and can't purchase from google play. Will there be a free or xda version coming soon? if not is there any way for me to try this out? signed up for the beta as well :)
 

Kage0x

New member
Jan 13, 2014
3
0
34
Livorno
I got the app a couple of hours ago and it's amazing.

Just a few things..
  1. Where did the Talon Pull notifications go when they are received? I have to manually to update the timeline anyway.
  2. You have to pull down for too long in order to update. You should adjust it
  3. You should definitely implement threaded DMs, that would be pretty cool

Great app btw,
 
Last edited:

klinkdawg24

Senior Member
Nov 12, 2012
368
307
Iowa
Maybe I'm just stupid.. How do you pull up replies to others tweets? Beautiful app btw... Love it...

right now, you can only look backwards at tweets, looking forward will come when i figure it out haha

wow this app looks beautiful, would love to try it, unfortunately, i dont have a credit card and can't purchase from google play. Will there be a free or xda version coming soon? if not is there any way for me to try this out? signed up for the beta as well :)

No, because of the token limit, this app is going to be paid, I thought about an XDA version with different tokens, but that would just go against Twitters rules still

I got the app a couple of hours ago and it's amazing.

Just a few things..
  1. Where did the Talon Pull notifications go when they are received? I have to manually to update the timeline anyway.
  2. You have to pull down for too long in order to update. You should adjust it
  3. You should definitely implement threaded DMs, that would be pretty cool

Great app btw,

1.) They go to the interactions drawer on the right, make sure you are on the newest version and it will work better (1.01)
2.) i changed it for the version im releasing now
3.) yeah the dm's have a lot of work i know!
 

klinkdawg24

Senior Member
Nov 12, 2012
368
307
Iowa
Version 1.05

(up in ~2 hours)

Well, day one is coming to a close and i have added some nice stuff for all of you :)

There was an update earlier that solved some issues with the Talon Pull service not working and tweets being saved twice in some places. That was version 1.01.

Changelog for 1.05:
Correctly mute retweets
- Higher quality images on timeline
- Dismiss all on interactions drawer
- In-app browser is now optional
- Lowered swipe length for Pull to Refresh
- Option to display both screenname and name on timeline tweets
- Open app from clicking icon on widget
- Finished German translation
- Fixed contact images on layout change
- Attempted fixes for Play Store crash reports

I hopefully got the force closes that were reported today taken care of. Although there weren't many, which makes me happy :)

Let me know how this version works for all of you!
 

faremoney

Senior Member
Jan 12, 2010
191
32
hi mate

the last update is wonderful
it fix almost every complain ppl have.... BUT.....
PLEASE and i repeat PLEASE don't use the same way of plume to manage DM

the DM must be in threaded conversations, with the ability to delete entire threads, just like a normal "sms" application does, and just like tweetbot does.

please fix the dm section and this could be the real deal for android users.
 
  • Like
Reactions: theprophet09

klinkdawg24

Senior Member
Nov 12, 2012
368
307
Iowa
hi mate

the last update is wonderful
it fix almost every complain ppl have.... BUT.....
PLEASE and i repeat PLEASE don't use the same way of plume to manage DM

the DM must be in threaded conversations, with the ability to delete entire threads, just like a normal "sms" application does, and just like tweetbot does.

please fix the dm section and this could be the real deal for android users.

DMs will get a big rewrite, but I have a few other things I need to do first
 

brath23

Senior Member
Oct 2, 2010
165
63
None of Your Business
DMs will get a big rewrite, but I have a few other things I need to do first

Very nice app. I only have two "issues" Local Trends is displaying trendings from another country. The same happened to me with Falcon Pro so, I guess you both use same location service. It would be nice to have an option to select trends manually for people who is living in another country and wanna know what is happenning in their "home"
The other issue I found is that I think data loading is faster in other Twitter clients especially with timeline refresh
 

Kage0x

New member
Jan 13, 2014
3
0
34
Livorno
OK, this gets better and better.
The pull to refresh is better than before, but it still needs some improvement. Take a look at how the one from the gmail app behaves. That one is perfect. But this is just a minor issue, so it's not a big deal :)

Regarding the DM issue, could you at least change the order in which they are displayed, or at least give us the opportunity to do so? It's kinda weird to have the old ones first. But it really depends on long will it take to rewrite the whole thing, if you're going to do it :)

Also, I really think mentions notifications from the Talon Pull should go directly into the mentions tab instead of the additional drawer, but maybe that's just me :)
 

Dark_Eyes

Senior Member
Nov 20, 2011
99
28
30
Minsk
OnePlus 8 Pro
awesome. perhaps the only competitor falсon. you can do that display images if given a direct link to it? (everywhere)
view who retweet/favorite. display real-time, I mean like 20:14, but not 14 minutes ago. thx, man.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 27
    v5ljd1.png

    Note: This version of the app has hit its token limit, for more info on my plans and its future, check out this post: http://forum.xda-developers.com/showpost.php?p=56228193&postcount=553

    Hello guys! From the creators of Sliding Messaging Pro, I would like to announce one of our new projects: Talon for Twitter!

    This one, along with klinkdawg's EvolveSMS are the two brand new apps that we have been creating the past few months. They are full of polish, features, and beautiful design and KitKat style! Both of these apps are availible on the Google Play store today, but lets get to know Talon a little first :)

    Talon for Twitter - Google Play Store



    -----------------------------------------------------

    Play Store Description:
    Get fully immersed in your Twitter with this beautiful, feature PACKED Twitter client with a design that actually makes sense!

    Created with Android 4.4 (KitKat) in mind. Includes full screen layouts, stunning animations and more! Of course that doesn't mean earlier versions of android get left out! The only thing that wasn't able to be recreated in Android 4.3 and below was the transparent navigation and status bars... Sorry! It just isn't possible :(

    Beautiful, up-to-date layouts, designs, and neat animations isn't the only thing Talon has going for it though! The list of features is enormous as well, doing everything you could ever want from a Twitter app right off the bat. Even though it is new, I have added every single major and minor Twitter feature that I think is absolutely essential plus a ton that most people wouldn't even think of. Here is a pretty comprehensive list of its features:

    Twitter features:
    - Live streaming support
    - Support for 2 accounts
    - View your timelines (main, mentions, direct messages, links, and pictures)
    - View retweets, favorites, Local and world trending, user profiles, Twitter lists, and more
    - Favorite users
    - Search Twitter
    - Delete, favorite, retweet, quote, and reply to statuses
    - view replies to statuses
    - Update your profile picture, banner, location, and user description
    - block, follow, and add users to lists
    - search for your friends to tweet at
    - Attach pictures to your tweets
    - Attach locations to your tweets
    - And the list goes on :)

    Customization features:
    - Extremely powerful developer theme engine (Read the second post :D)
    - Choose between either "Talon" or "Hangouts" layouts
    - Choose from 3 beautiful base themes (light, dark, and pitch black)
    - Custom text sizes
    - Night mode
    - Auto-Refresh options
    - Custom notification settings
    - And many other goodies in there as well!

    App Features:
    - "Talon Pull" to be always listening for interactions (mentions, retweets, favorites, new followers, and direct messages)
    - Expandable, actionable, and dynamic notification system
    - Full app popup
    - Full emoji support
    - View in-line Twitter and Instagram pictures
    - View in-line YouTube thumbnails
    - Native YouTube player
    - In-app browser
    - Complete landscape and tablet modes
    - Advance to new pages in a "windowed" viewing mode
    - Never leave your timeline with in-line replies, favorites, and retweets
    - Actionable toast bar so you always know where you are and can jump to the top
    - Hiding action bar
    - "Do not disturb" mode
    - Widget for main timeline
    - DashClock Extension
    - Draft system for unsent/failed tweets
    - Google style pull to refresh for quick refreshing
    - Save tweet pictures
    - Share content with other apps, to and from Talon

    You will never go back to your old Twitter client again!

    Enjoy Talon and don't hesitate to contact me with questions, requests, or bugs!
    Thanks!

    Contact me (Luke Klinker):
    Email: [email protected]
    My Twitter: @lukeklinker
    Talon's Twitter: @TalonAndroid

    Google+ Beta Page

    Emojis
    Here are two different emoji plugins for you to choose from, choose whichever suits you best, install it and never worry about it again!
    Sliding Emoji Keyboard - Android
    Sliding Emoji Keyboard - iOS

    Permissions Explained:
    - Write to Storage: Saves pictures to your SD card and writes them into the cache.
    - Read from Storage: Used when backing up settings.
    - Location: Used for trends and attaching locations to tweets.
    - Network Communication: Obviously have to be able to interact with Twitter ;)
    - Network State: Used so the user can toggle background sync to only over WiFi.
    - Run at Startup: Re-schedules the background refreshes.
    - Keep Awake: Used for background refreshes and waking the screen.
    - Vibrate: Used for the notifications.

    Credits:
    - Jacob Klinker: to many things to list! Tons of ideas, support, and inspiration
    - Aaron Klinker: Icon Design
    - Other open-source libraries and resources used can be found under the 'Get Help' section in settings.



    -----------------------------------------------------

    Screenshots:

    dh8nwo.jpg
    2w1uk9h.png
    9kp5qp.png
    wapvv4.png




    -----------------------------------------------------

    Closing Comments:

    I have worked really hard to bring you guys a great experience right from the start this time and it really shows, from the login screen to the timelines, you will be fully satisfied with the design, execution and finesse that Talon brings to your phone. It isn't going to take months to get up to speed like Sliding Messaging did. I have designed this to be efficient, fast, and just work, right from the start. I learned a ton from that app and Talon goes to show just how much.

    Hope you enjoy it as much as I do, sound off in the comments with question, concerns, suggestion, or whatever else you feel like saying about the app!




    One more thing to say before I leave you here, please remember that this is XDA, and you are all expected to be a little bit different Android users, if you are having a force close or something, I would like you to be able to post a logcat of it. If you are wondering about why I did something the way I did, then I will probably explain it to you in a programming sense instead of how I would to a normal user on the Google+ beta page or something, because that makes much more sense to me, is easier on me, and you should be able to understand it a little bit better... Just keep that in mind and stay on topic please :D
    11
    Sorry I haven't been around all that much lately, between school, a new job, and just managing the apps, I haven't had to much time. It also didn't help that I forgot to install the tapatalk app on my nexus 5 when i went back to the Lollipop preview :rolleyes:


    Anyways, just want to talk a little about where this app is at and what is going on. As some of you have seen, the app did in fact run out of user tokens. Tokens are twitter's way of limiting the number of users on a 3rd party app, they give each app 100,000 to distribute to its users. Those sure went fast in talon, which is something that I am pretty proud of, but of course a bit sad about as well.

    This leads to the login issues. When you try to log in, more than likely you will be faced with a messages saying talon cannot authenticate any more users at this time. Which is correct. However, if you do in fact have a token already, it is only slightly less of a problem. You still have that token, it is yours until you revoke it, but twitter doesn't seem to want to even try to let people log in for some reason unknown to me or anyone else it seems... The token is yours though, so the message says to try again later, and unfortunately that is the only advice that I can give you as well. It seems like every few hours they allow more people to log in again. So you will get in, just keep working at it.


    Now for the future of the app. I did release a material redesign, only for Lollipop, onto the play store. You can find it here: https://play.google.com/store/apps/details?id=com.klinker.android.twitter_l&hl=en

    This app is for lollipop only, and I do not think it will be coming to lower version. I don't want to limit myself by api constraints with this one, and since I have a token limit anyways, the longer i can prolong that, the better it will be for me, as the developer, and you all, as the user.

    This new version also allows me to have major incentive to continue developing the old version. They will have very similar feature sets, with design as the key difference. Since the token limit was reached, I have open sourced the classic version of talon. You can find it on my github here: https://github.com/klinker24/Talon-for-Twitter

    This is something that I said I was going to do from the beginning and something that I am proud of. Open source is a major step for any project to take, let alone a project as big as talon. Some of the code it pretty good, some... not so much haha remember that I made this as a 19 year old kid with only one high school java class and month into a college java class... So don't judge the code to hard, it works well and, for now, that is what is important. I will probably go through and comment more of it in the future as well.

    Check out the readme for what you have to do to get it to work, basically it is just getting your own api keys. I ask that you do not redistribute the builds you make for your own gain though. If you make one and would like to share it, great, that is exactly what it should be for. Do not charge for that build though. I have spent a hard year crafting this app and someone stealing it for a profit would not make me very happy.


    So, anyways, that is the future, contribute to it if you would like, otherwise, continue to enjoy what I have created. I might be sad about the token limit, but I am overjoyed about the response I have gotten to it and the support from my users.

    Enjoy the app, I will just say that it still has a bright future in front of it.
    7
    Frequently Asked Questions

    Frequently Asked Questions


    1.) Push Notifications

    I am just going to say this now, before anyone asks: Push notifications will not be coming to Talon unless something changes with the Twitter APIs. I have created "Talon Pull" with is simply an always on, listening/streaming service that will receive new tweets from Twitter whenever your Twitter handle is included. To read more about this option, look at the "Talon Pull" section below the "Reasons" section.

    Reasons
    This will be the more technical part of this post, if you don't want to read and understand it, then you will have to just accept my answer from above. If you don't accept that I know what I am talking about... Then by all means, read on, I will try to keep it as simple as possible.

    To access Twitter, they have provided us with the REST APIs (currently version 1.1). These APIs allow developers to communicate with Twitter in real time by just submitting requests to get data from the network. They make it relatively simple - if you know what your doing - to obtain the data that they allow you to get and store, but there are plenty of limitations to these APIs, which make sense: Twitter is a completely free service and make their money off of advertisements. They want people to use their official Twitter products (such as the web or their own Android app) to access their services because they are able to place advertisements in them and that is the only way they make money. So they just aren't going to make some things available for 3rd party developers.

    One of those things is their push notification system. As I said before, they allow us to access their services with these REST APIs, but they also have a Streaming API available so that a 3rd party service, such as this one, could be "always connected". Sounds great right? Maybe, maybe not. More testing probably needs to go into it, because it is very new in Talon. For the past few weeks though, I can say that it doesn't seem to take up much more battery than sycning on an intervol does. So try it and let me know. I have done the best I can to optimize this service, but if you want to know more about it, read below in the "Talon Pull" section

    What these streaming APIs should be used for is a server side interaction that would then connect to GCM (Google Cloud Messaging) and send push notifications from there. I would love to say I am working on something like this, but it isn't possible for a developer like me. I don't have the time, resources, or knowledge to set up a complex server like this. The knowledge I could get, but I am a 20 year old kid, working off of this 1 MB/sec internet connection while being a full time college student at the University of Iowa. I wouldn't be able to handle the upkeep of the system like this or the traffic. I just don't have the backend necessary for this type of thing, and there aren't many developers who do. So push notifications from the server side? Way out of the question.

    That leaves only one thing to do: wait. Maybe Twitter will open up some kind of push notification service to it's developers, but I wouldn't count on that. The ideal thing for them to do would be to set up their own GCM server for us to communicate with, but I don't see that as being likely at all because of the advertising. That would take away one of the main draws for their app, leaving it with almost nothing that 3rd party developers can't do. For now though, "Talon Pull" seems to be working well and I would encourage you all to try it out. Battery seems to be fine, the one drawback is that you must be connected to a datasource right when the interaction happens or it won't be saved or shown.


    Talon Pull - My solution/workaround
    As I said before, this is NOT push notifications. Push notifications are sent to your device to notify you from some kind of server. They aren't always on, and only turn on when your device receives the info from the web service.

    Talon Pull on the other hand, uses Twitter's Streaming API to just create an "always on" service to be constantly listening for and streaming tweets that contain your Twitter Handle. The way this works is that you are signed in with your API keys after you turn on the option to enable Talon Pull. I then just create this "listener" that Twitter's servers will send new tweets to. Luckily, they will take care of most of the filtering of those tweets on their end, to reduce the load as much as possible on your device (because before the filtering, it literally will receive every single public tweet that is happening. It was amazing when I first flipped and saw the tweets flowing over my log haha). So we filter it down to as few of tweets actually reaching your device as possible, then I start broadcasting the notifications when you receive the new ones.

    Overall, it is a relatively simple process, the problem with it though, you have probably already realized, you have to be constantly connected with a data service or the app won't know when to receive the new tweets. Obviously that is the part that is going to end up taking the battery (if it does), not "bloated" or "un-optimized" code as some of you I sure believed. So far though, through my testing, it doesn't seem to have a very big impact on battery overall, but I suppose that it potentially could if you are using Twitter that much more than I do.

    If there was a better way, I wish I could find it. I think that this is the method that most 3rd party services use to send you those fake "push notifications". So there ya have it, hope you learned something. It works well and it is the only way to get a lot of information like who favorited or retweeted your statuses


    Conclusion
    Thanks for the read, if you made it all the way, hope that gives you an idea as to why push notifications just aren't even an option at this point and what my solution to that problem has been, even if it is not ideal. It works, and it seems to be working quite well for me.

    So just know: "Talon Pull" isn't quite the same as push notifications, but it is as close as you are going to get and is working better for me than I would have ever imagined. Enjoy!


    2.) Translucency

    Why aren’t my status bar and navigation bar translucent like in all of the screenshots?!?

    This is an Android 4.4 KitKat feature only. Get a new phone/ROM if you want it.


    3.) Theming Support and Limitations

    We have created a pretty powerful theme engine for Talon and EvolveSMS this time around, but it isn't without its limitations.

    The main app color will always be orange. Don't ask to change it. That isn't something I can theme dynamically or read from an add on package, themers can change the orange glow on the in-line buttons (favorite, retweet, and send), but that is as much as your are going to get with that one.


    4.) Viewing users who "retweet" and "favorite" your statuses

    This is another thing that isn't going to happen at this point. It isn't possible to get the user ID's or their names with the current version of the API's.

    Maybe Twitter will open this up in the future, but I wouldn't get your hopes up.For now, the best you will get is the numbers on them

    The only way to get this information is through the use of "Talon Pull" and the Streaming API's. When you get a retweet or favorite, it will be put in the interactions drawer on the right side of any activities with drawers.The only way to get this information is through the use of "Talon Pull" and the Streaming API's. When you get a retweet or favorite, it will be put in the interactions drawer on the right side of any activities with drawers.


    5.) Clearing the Cache

    If you know much about caching in Android, then you may wonder why in the world I would want to clear it every time you switch themes.

    The answer is pretty simple: to vastly improve the performance and the smooth scrolling in the app, I save the profile pictures according to the current theme's style, whether that is circle (like the "Talon" layout) or square (like the "Hangouts" layout). This preference is also available to themers in the add-on themes.

    By caching them directly as circles, it alleviates the need to do it on the fly which could consume quite a bit of processing power on older phones and would just be a complete waste to render them like that every time.

    You may think it is a hassle, but you would be thanking me if you knew the difference it makes.

    You can also view the current cache size and clear it manually from "Advanced Settings".


    6.) Battery Consumption

    If you use Talon a lot throughout the day, it is going to take up battery, simple as that. I find that on a 30 min refresh intervol for the different timelines and manually going in and browsing/updating throughout the day, it takes about 4-5% of my battery. I would say this is pretty normal because there are days that Google+ takes up to 10% with just casual browsing.

    If that isn't acceptable for you though, then there are a few things you can do to reduce battery consumption:
    1.) Turn down the refresh interval on the timelines. This is the big one. It is those background services that are going to drain your battery.
    2.) Turn off "Refresh on Startup".
    3.) Turn off "Talon Pull" and "Live Streaming"
    4.) Don't have it sync the second account's mentions

    And if all else fails... Get off Twitter and do something productive for awhile =D haha any app that accesses the internet and refreshes as much as a Twitter client is inherently going to use more battery in the background. There are ways to reduce it, but not always ways around it!


    7.) Custom ROMs Immersive Mode

    My custom ROM has "Immersive Mode" and Talon doesn't seem to play nice with it! What's up with that?!

    The way that immersive mode works in your ROMs currently isn't so hot unfortunately. There is a reason Google didn't put it into the whole system because app developers would have problems implementing the "translucency" with conflicting system stuff.

    Not to fret to much though, I was able to get things working smoothly with it in Talon. The problem was that my ListView's are expanded through the different system bars. This can be a big problem if you try to switch to "Immersive" in the middle of doing something in the app. You will notice the margins get all wanky on the top and the bottom of your lists.

    It can be easily solve though by just restarting the app by swiping it out of your recent apps screen. Sorry, but that is the best I am going to be able to do here, Translucent bars an "Immersive Mode" just weren't meant to work together.
    6
    Talon 2.6.x

    Finally getting 2.6 out the door with some pretty cool new stuff in it, check it out. This update will be live within the hour.


    Changelog for 2.6.x
    - New compose window
    - New icon and imagery
    - New Talon-L version themes
    - View the tweet you are replying to in the compose window
    - Post tweets with animated GIFs (Twitter doesn't support viewing yet
    - Upload multiple images to twitters native hosting
    - Better notifications for mentions, direct messages, and favorite users
    - Updated fonts and added an Android "L" Roboto font option
    - Smoooother
    - Some timeline jumping fixes
    - Auto-complete now works in the middle of the tweet
    - Avatar mixups fixed
    - Some login errors fixed
    - Translation updates
    - Image viewer fixes
    - Better clearing of notification data
    - Support for Klinker Apps Theme Spotlight
    - Small changes for sending normal pictures
    - Random fixes and requests
    - Added to the "Our Apps" section
    - Improvements to changelog viewing
    - Various other bug and force closes


    Themes
    With this update I am releasing two new add-on themes as well, Talon-L Light and Talon-L Dark. They are based off of my L preview app.

    These themes also come with some updates to the theme engine itself for some cool new features. You can check out the project here, it is fully open source: Talon L - GitHub

    Checking the manifest on those two themes will show you the new meta-data elements that are possible. I am hoping that this will show themers that there is more than just the timeline that you can recreate and theme. You can do just about anything with this theme engine. I will go through and put more documentation throughout these example "L" themes later this week.

    Be aware that these will force close on any version less than 2.6.2 (which I just put up this morning). Also, they haven't changed the profiles much because I have not finished the profiles for my "L" version of talon yet. I will update them in the future, when it is more complete.

    Downloads:
    Talon-L Dark: http://goo.gl/eeSSUG
    Talon-L Light: http://goo.gl/qEu6Sp

    To apply these themes:
    1.) Download the apk from the link
    2.) Install it on your device
    3.) Go to Talon's settings and select it from the add-on themes section of UI Settings
    4.) Close the app and swipe it out of recents so the cache clearing takes into effect.

    Suggestion
    Don't use the advance windowed option under advanced settings with these theme. The material design focus on imagery makes it more difficult to get to the content.


    New Icon
    Got a fancy new icon for this version as well. I think it looks great, a lot of time went into it and it is my opinion that that time was well spent.

    Along with this icon comes a new default background image. If you do not have a background image on twitter, this one will be applied to your drawer instead.


    Wrap Up
    Lots of work went into this version and I think it turned out quite nicely. We have one more big release planned for this summer, so hold out on that one. It is ready, do not have the time or energy right now to put it out there.

    Enjoy!
    4
    Version 1.3.0 Release

    Hey guys! Another week, another release, and this one is a big one :)

    This update includes a ton of features, fixes, stability improvements, some memory management improvements, and hopefully some reduced data rates.

    Here is the full change log for you to sift over until it hits the store here in about an hour and a half:

    - TweetMarker support
    - TwitLonger support
    - Upload with TwitPic
    - Much better handling of user searches
    - Added share and quote button to the in-line expansions on tweets
    - Add color to the retweet and favorite buttons so you can better distinguish your actions on a tweet
    - Live streamed tweets will be automatically loaded when you are at the top of the timeline
    - Higher quality Instagram, TwitPic, and Imgur pictures
    - Remove retweets by long pressing the retweet button
    - Pull to refresh on searched trends
    - Don’t show YouTube in pictures timeline
    - Better feedback for when you retweet or favorite a status
    - Much better support for auto-trimming the databases
    - Added size 30 font
    - Mark direct messages and mentions as read when the notification is dismissed
    - Better handling of retweets when viewing the tweet
    - Reply to your own tweets
    - Share individual links in a tweet using the “Share Link” button in the overflow menu when viewing a tweet
    - View your current account on the talon pull notification if you have more than one
    - Workaround under advanced settings for if your timeline jumped down a spot after a refresh
    - Better stability
    - Tons of bug fixes
    - Updated translations
    - Probably some other small stuff I forgot about as well ;)


    Enjoy this, I will make another announcement soon about a cool project that we are working on for the app.

    Tell all your friends, 'cause Talon just got a whole lot sweeter! :)