Tapatalk API implementation project


(Lupine) #1

Hi all,

One other requirement my league has is for an application people can install on their phones to get push notifications when posts are made to the forum, or they get PMs. Obviously, the intent for discourse is “good enough on mobile so no applications are required”, but as far as I know, there isn’t a mechanism to get facebook-style push notifications without one…

So I’m currently implementing a Tapatalk <-> Discourse bridge. Previous threads have suggested core is quite hostile to this (and, honestly, deservedly so - this XMLRPC interface is evil), so I’m doing it as a service that runs in a separate process, consuming the discourse_api library. Which is skeletal, to say the least :wink:

Anyway, one night of hacking means I can view topics on my android mobile, using the “forum fiend” application. The code for it is at GitHub - lupine/tapatalker: Tapatalk-to-Discourse bridge. - completely unorganised at the moment, I just wanted to get something running. Hopefully, I can get basic push notifications working by the end of the week… before insanity sets in


The State of JavaScript on Android in 2015 is... poor
(Jeff Atwood) #2

Wouldn’t email notification of some type be OK for this?


(Luke S) #3

Though, that would assume that they are always signed in to their email app… Perhaps its a fair assumption.


(Lupine) #4

i’ve already got it set as aggressively as possible for email notifications. They’re used to facebook-app levels of integration, and many just don’t use email on their phones (or at all, for a couple).

The facebook group (and so, the forum) is often used for last-minute, slightly-panicked arrangements like lifts to practice, so it’s a case of more intrustive being better, I guess.

Anyway, the code now sort-of-works for viewing stuff, although some stuff (pagination, say) is broken. Login functionality is next (oh dear), shortly followed by notifications, then replies. It’s not getting cleaner, but it is getting more features…


(Lupine) #5

OK, logging in and out works now… it’s all kinds of nasty.

For the discourse_api gem, although I’m happy a couple of pull requests have been accepted, I’m not sure this kind of piecemeal addition of endpoints is a great idea - the overhead is fairly extreme. So I’m going to accumulate stuff in my fork until i’ve got a clearer idea of what to do with it.

Onward, ever onward.


(Tomasz Stachewicz) #6

Awesome work. @lupine, which features do you need the most urgent help with? I’d like Tapatalk support for Discourse as well, badly!


(Lupine) #7

Hiya. Next on my list was push notification support and the varied tapatalk login mechanisms - unfortunately, I broke my collarbone just before I was going to get to work on it. The push notification API is undocumented, but I’ve got a contact inside tapatalk who’s promised to provide “all necessary support” to get it working.

I really can’t work on this stuff this month, but if you fancy taking it on, I can pass on my contact’s details to you?


(Tomasz Stachewicz) #8

I’m still wondering what has higher priority for me: shoutbox or tapatalk push notifications. To be honest I disable notifications as soon as I install Tapatalk on a new device. Does all the other stuff (new topics, browsing forum, posting) work through your application?


(Pablo Macaluso) #9

Im thinking, the webapp of discourse its so much better … Tapatalk only its a APP for Forums.
The webapp its so much pretty and fast.


(Tomasz Stachewicz) #10

Yeah, but Tapatalk has all the forums (with login-password pairs) grouped up in one place and with a consistent interface. Saves a lot of hassle on smartphone.


(Lupine) #11

The killer tapatalk feature for us, really, was making the phone buzz whenever a new message was sent to the forum. Since it’s a small community, it’s not an annoying notification load, and it’s not really something the web app can do, unfortunately.

The code so far implements new topics, replying to existing topics, and browsing the forum. It also supports direct logins, although the password is sent in plaintext. The android and iphone official clients both worked for all that, last I checked.


(Bernardo Kuri) #12

Wouldn’t it be easier in your case to simply implement the HTML5 vibration API as a discourse plugin instead?

The reasons why I wouldn’t mind Tapatalk integration:

  • For people who are users at many different forums and prefer having everything in one place under the same UI.
  • Decreased friction from users who don’t see the need to change to discourse and learn a new UI.
  • For bandwidth savings, since only the bare data gets transmitted (no extra HTML+JS+CSS payload to worry about).
  • A native app will probably always provide a “snappier” experience than a webapp. Not to mention that different mobile browsers render html at different speeds and sometimes with different results.

(Jeff Atwood) #13

This is already the case with Discourse. Every link you click is just JavaScript a) making the API call to get the JSON data b) redrawing the screen locally.

Discourse is like an iPhone or Android app, just without the “iPhone” or “Android” part – JavaScript.


(Bernardo Kuri) #14

Right, except that you need all those extra assets to build your UI and app logic inside a browser window in the first place. With a dedicated app all that gets requested and transmitted is the content, while the rendering is done by the app. Hence the badwidth savings comment.


(Jeff Atwood) #15

Apps have to be installed – that’s also a burden, and requires downloading resources / binaries and installing them. These binaries also have to be regularly updated, don’t they?


(Bernardo Kuri) #16

They do, but that’s no longer my server’s problem. :wink:

Under Tapatalk sessions, all my server has to worry about is serving just the content. This translates to less HTTP requests and data transfer, which should ultimately make everything just a little faster for everyone.

One could probably argue that this wouldn’t be too perceptible on low traffic sites, but I suspect that higher traffic sites would see some marked benefit by doing this.


#17

Is someone using tapatalker?

Is there a still strong belief that plugin for tapatalk isn’t needed?


(Jagoba Los Arcos) #18

Hey.
First my apoplogies for rescue this old post.

My name is Jagoba and I am plugin developer at Tapatalk. We are looking at the tapatalker and I wish to contact you. Lupine, can you write me to jagoba@tapatalk.com please so we can discuss about the code you done? :slight_smile:


#19

Hope you guys work it out. I need an app for Discourse. :wink:


(@SenpaiMass) #20

I was so excited when I saw this topic on meta. Taptalk integration with discourse is the plugin which most of the developing communities could use.
The commits to taptalker is 2years old. Which I would presume it will not work with the latest discourse setups.