Unofficial MetaFilter Apps September 18, 2012 11:41 AM Subscribe
For the past six months I've been tinkering with a set of unofficial apps for MetaFilter. When I started this project there weren't any official apps on the horizon and except for an odd 3rd party iPhone app I couldn't find anything else so I decided to explore the problem on my own.
These are only prototypes, but they're functional and include the ability to read, comment, flag and favorite on MetaFilter, Ask MetaFilter and MetaTalk. I'm experimenting with some touchscreen enhancements and I'd like to get some feedback to see whether there's any interest in taking this further, particularly in light of the official iPad app that's now in the works.
You'll need an appropriate device (iPad, iPhone, iPod Touch, Android 2.2 or newer phone or an Android 7- or 10-inch tablet) to load these apps. You're welcome to try them even if you're not interested in formal beta testing but the prototypes aren't optimized for anything like full MetaFilter traffic, so I'm trying to start slow. I've also cobbled together some screenshots if you don't have access to a phone or tablet or don't want to load the prototypes.
Last week I e-mailed the mods about this project but I want to be clear that the prototypes are entirely unofficial and not endorsed by anyone. I was just curious about the potential and wanted an app for my own use. I'm happy with it, but I'm hoping to see how the prototypes work for people who aren't me.
These are only prototypes, but they're functional and include the ability to read, comment, flag and favorite on MetaFilter, Ask MetaFilter and MetaTalk. I'm experimenting with some touchscreen enhancements and I'd like to get some feedback to see whether there's any interest in taking this further, particularly in light of the official iPad app that's now in the works.
You'll need an appropriate device (iPad, iPhone, iPod Touch, Android 2.2 or newer phone or an Android 7- or 10-inch tablet) to load these apps. You're welcome to try them even if you're not interested in formal beta testing but the prototypes aren't optimized for anything like full MetaFilter traffic, so I'm trying to start slow. I've also cobbled together some screenshots if you don't have access to a phone or tablet or don't want to load the prototypes.
Last week I e-mailed the mods about this project but I want to be clear that the prototypes are entirely unofficial and not endorsed by anyone. I was just curious about the potential and wanted an app for my own use. I'm happy with it, but I'm hoping to see how the prototypes work for people who aren't me.
I cannot find any way to download any of them on the linked site?
posted by quonsar II: smock fishpants and the temple of foon at 11:47 AM on September 18, 2012
posted by quonsar II: smock fishpants and the temple of foon at 11:47 AM on September 18, 2012
Hey Jeff, sorry I didn't get back to your email that is still in my inbox. Half of me thinks this is cool, because it looks great and works ok on my iPad when I tested it, but then again half of me has to be a bit cautious about it because you do have logins and I'm not sure if you are storing people's user/pass and you're also displaying the site without ads of any kind so I'm not getting revenue to keep running the site.
We are planning to someday launch a nicer HTML5 responsive version of MetaFilter, so it won't be quite this HTML webapp-like, but it will be a nicer way to read the site on mobile.
posted by mathowie (staff) at 11:49 AM on September 18, 2012
We are planning to someday launch a nicer HTML5 responsive version of MetaFilter, so it won't be quite this HTML webapp-like, but it will be a nicer way to read the site on mobile.
posted by mathowie (staff) at 11:49 AM on September 18, 2012
Do they come with the professional white background? I want to be taken seriously when I'm looking for the latest cute animal video.
posted by Brandon Blatcher at 11:54 AM on September 18, 2012 [1 favorite]
posted by Brandon Blatcher at 11:54 AM on September 18, 2012 [1 favorite]
If you're browsing on a compatible device, the link will show up on the page with the screenshots for whichever platform you're using. For example, on the page with the iPad screenshots, if you're browsing on an iPad, you'll see a button at the bottom of the page that says "Launch iPad App." The other apps work the same way. If you're browsing on a PC, you won't see any links.
In terms of logins I'm not storing any user data and the prototypes don't require your MetaFilter username or password. The prototypes also have no access to profile information.
posted by Jeff Howard at 11:58 AM on September 18, 2012
In terms of logins I'm not storing any user data and the prototypes don't require your MetaFilter username or password. The prototypes also have no access to profile information.
posted by Jeff Howard at 11:58 AM on September 18, 2012
How much would it cost to carry the code over the MeFi?
posted by parmanparman at 11:58 AM on September 18, 2012
posted by parmanparman at 11:58 AM on September 18, 2012
I mean, how much would it cost to carry the code over to MeFi?
posted by parmanparman at 11:59 AM on September 18, 2012
posted by parmanparman at 11:59 AM on September 18, 2012
Just to echo what Matt said, it's kind of odd that you're asking people to post comments at your site that you then post on their behalf. I don't think you're doing anything odd like saving the comments first on your end, but we don't know for sure. We usually view that sort of activity as cross-site scripting that we try to defend against.
I'm going to have to encourage people not to enter their MeFi token into someone else's website, and we're going to need to discuss whether or not to allow this kind of activity.
posted by pb (staff) at 12:07 PM on September 18, 2012 [3 favorites]
I'm going to have to encourage people not to enter their MeFi token into someone else's website, and we're going to need to discuss whether or not to allow this kind of activity.
posted by pb (staff) at 12:07 PM on September 18, 2012 [3 favorites]
Ah, it's web based.
Android phone and tablet
iPhone and iPad
I'd heard about JS calls to access hardware functions on mobile devices, but didn't know you could do things with tilt like that. Neat proof of concept.
The prototypes also have no access to profile information.
The authorization pages asks for a token from MeFi's source code. A Cold Fusion session token, I'm assuming? Either way, no username or password needed. Of course, I don't know when the token changes.
posted by Nonsteroidal Anti-Inflammatory Drug at 12:10 PM on September 18, 2012
Android phone and tablet
iPhone and iPad
I'd heard about JS calls to access hardware functions on mobile devices, but didn't know you could do things with tilt like that. Neat proof of concept.
The prototypes also have no access to profile information.
The authorization pages asks for a token from MeFi's source code. A Cold Fusion session token, I'm assuming? Either way, no username or password needed. Of course, I don't know when the token changes.
posted by Nonsteroidal Anti-Inflammatory Drug at 12:10 PM on September 18, 2012
Uh, it doesn't appear to be an "app" in the traditional sense, as in something you download and install on your phone. Appears to be more like a web proxy, running on the phones browser and relaying data thru your site to and from Mefi.
posted by quonsar II: smock fishpants and the temple of foon at 12:10 PM on September 18, 2012
posted by quonsar II: smock fishpants and the temple of foon at 12:10 PM on September 18, 2012
A Cold Fusion session token, I'm assuming?
Similar idea, yeah. It's a token that's supposed to help verify that you're posting from MetaFilter.com not some other site.
posted by pb (staff) at 12:12 PM on September 18, 2012
Similar idea, yeah. It's a token that's supposed to help verify that you're posting from MetaFilter.com not some other site.
posted by pb (staff) at 12:12 PM on September 18, 2012
On the one hand -- really, really want.
On the other hand -- really really anxious about a third party having my log-in.
What to do?
posted by PeterMcDermott at 12:13 PM on September 18, 2012
On the other hand -- really really anxious about a third party having my log-in.
What to do?
posted by PeterMcDermott at 12:13 PM on September 18, 2012
On preview...
I'm going to have to encourage people not to enter their MeFi token
pd, is this a static token tied to the account, or is just a session token?
(If you don't want to answers questions along these lines, not a problem)
posted by Nonsteroidal Anti-Inflammatory Drug at 12:13 PM on September 18, 2012
I'm going to have to encourage people not to enter their MeFi token
pd, is this a static token tied to the account, or is just a session token?
(If you don't want to answers questions along these lines, not a problem)
posted by Nonsteroidal Anti-Inflammatory Drug at 12:13 PM on September 18, 2012
It's a fairly static token tied to the account. And that's something we're discussing. It might need to change more frequently.
posted by pb (staff) at 12:15 PM on September 18, 2012
posted by pb (staff) at 12:15 PM on September 18, 2012
To clarify, the prototypes never ask for username or password. I remembered that being a concern from an earlier MetaTalk thread so I tried to find a way to steer clear of the issue. I'm also not storing tokens except in a cookie on your browser. pb, I'm happy to give you whatever access you need to determine that this is on the level.
posted by Jeff Howard at 12:16 PM on September 18, 2012
posted by Jeff Howard at 12:16 PM on September 18, 2012
Do you store comments or favorites on your end?
posted by pb (staff) at 12:17 PM on September 18, 2012
posted by pb (staff) at 12:17 PM on September 18, 2012
Uh, it doesn't appear to be an "app" in the traditional sense
It's a web app. I view it as a prototype that might or might not lead to an native app down the line, depending on how the community feels about it.
The only thing I'm storing on my end are total number of current comments, and the IDs of best answers, simply because the RSS feeds don't provide that information.
posted by Jeff Howard at 12:21 PM on September 18, 2012
It's a web app. I view it as a prototype that might or might not lead to an native app down the line, depending on how the community feels about it.
The only thing I'm storing on my end are total number of current comments, and the IDs of best answers, simply because the RSS feeds don't provide that information.
posted by Jeff Howard at 12:21 PM on September 18, 2012
ok, thanks, sounds good. I'm not thrilled with people putting their token into another website. That's specifically what the token is supposed to protect against.
posted by pb (staff) at 12:25 PM on September 18, 2012
posted by pb (staff) at 12:25 PM on September 18, 2012
The token is an inelegant solution for these prototypes. If there were some other way to authenticate I'd embrace it without hesitation. That said, the token is only used for comments, flags and favorites. If you'd rather not enter your token the rest of the app will still work, it'll just be read-only.
posted by Jeff Howard at 12:29 PM on September 18, 2012
posted by Jeff Howard at 12:29 PM on September 18, 2012
Jeff, when ~ and I looked at doing this a while back, we stored credentials (at user's discretion) in the iOS system keychain, which is encrypted with 3DES and sandboxed from all apps. It is therefore probably among the safer places to put sensitive data — certainly, it is preferable to storing credentials in-app with custom, untested security code.
A wrapper class makes keychain usage trivially easy. Once you have the cookie, you can have your app act as a web browser/client and interact with all the site data that a logged-in user sees when accessing through a "normal" web browser. Submitting forms (e.g. commenting) would then be a matter of programmatically mimicking the "normal" form fields and action, and then sending the custom-crafted POST request.
posted by Blazecock Pileon at 1:38 PM on September 18, 2012
A wrapper class makes keychain usage trivially easy. Once you have the cookie, you can have your app act as a web browser/client and interact with all the site data that a logged-in user sees when accessing through a "normal" web browser. Submitting forms (e.g. commenting) would then be a matter of programmatically mimicking the "normal" form fields and action, and then sending the custom-crafted POST request.
posted by Blazecock Pileon at 1:38 PM on September 18, 2012
Thanks Blazecock Pileon, that's pretty intriguing. Looks like it's for native apps rather than HTML5 web apps, right? Did you just build a shell for a web view? That last part about submitting forms is exactly how the web prototypes currently work.
posted by Jeff Howard at 1:46 PM on September 18, 2012
posted by Jeff Howard at 1:46 PM on September 18, 2012
We got as far as using UITableView to present data. For example, to show a list of contacts, there was a list of profile thumbnails with names as row labels. Tapping on a row pulled up the user's profile. That sort of thing.
If we had gotten further, I'm guessing we would have probably used some combination of UIWebView and UITableView within a single view controller, in order to present formatted comments (and other HTML data) and structured HTML forms, respectively.
posted by Blazecock Pileon at 1:50 PM on September 18, 2012
If we had gotten further, I'm guessing we would have probably used some combination of UIWebView and UITableView within a single view controller, in order to present formatted comments (and other HTML data) and structured HTML forms, respectively.
posted by Blazecock Pileon at 1:50 PM on September 18, 2012
Heh. That never went particularly far, but I really enjoyed tinkering with that project. So much so, that I now find myself writing iOS apps for a living. (Thanks MetaFilter! I owe my current employment to your intransigent refusal to release an iOS client. A bit.)
posted by ~ at 7:08 PM on September 18, 2012 [1 favorite]
posted by ~ at 7:08 PM on September 18, 2012 [1 favorite]
There is exactly one thing that mathowie needs to do to make MeFi work absolutely perfectly on the iPhone/iPad.
Put three spaces between "September 19 [1 favorite" and "+] [!]".
That's it. That's all. Just cut down on the fat-fingering of these two links because they are abutted in approximately 6-point type, and MeFi is optimized for tablet devices.
posted by aeschenkarnos at 7:15 PM on September 27, 2012 [1 favorite]
Put three spaces between "September 19 [1 favorite" and "+] [!]".
That's it. That's all. Just cut down on the fat-fingering of these two links because they are abutted in approximately 6-point type, and MeFi is optimized for tablet devices.
posted by aeschenkarnos at 7:15 PM on September 27, 2012 [1 favorite]
aeschenkarnos, try turning on swipe to favorite and see if that works better for you.
posted by pb (staff) at 9:13 PM on September 27, 2012
posted by pb (staff) at 9:13 PM on September 27, 2012
The fat-fingered problem that aeschenkarnos mentions is pretty much why I started this project to begin with, though in my case I kept accidently tapping FPP links on the home page when I meant to tap the link to view comments.
The prototypes handle swipe to favorite but they also introduce swipe to flag as the next logical step. Most of the improvements I'm experimenting with such as tilt to scroll or pinch to zoom are not failures of MetaFilter per se but failures of Mobile Safari and tablet browsers in general. Like not remembering where you were on the page when you return to a long thread. Now it bookmarks your place. Android didn't support tapping the title bar to scroll to the top of the page. Now it does. This is essentially about reconstructing a better browsing experience for long discussions.
On the other hand, some of the improvements are legitimately in response to neglect on the part of MetaFilter. Compare these posting widgets for example. Besides disabling live-preview (which I've now re-enabled) and offering a tiny space for typing, the official mobile style sheet hides the posting buttons on iPhone for some reason while the Android comment box doesn't even fit on the screen. The latter is a show-stopping bug that isn't obvious if you only test the site on an emulator. So I fixed it.
Regardless of blame, I wanted a MetaFilter experience designed for mobile touchscreen devices. That may eventually happen in some official capacity. But until then, these prototypes go a long way toward addressing the problem.
posted by Jeff Howard at 12:37 PM on September 28, 2012
The prototypes handle swipe to favorite but they also introduce swipe to flag as the next logical step. Most of the improvements I'm experimenting with such as tilt to scroll or pinch to zoom are not failures of MetaFilter per se but failures of Mobile Safari and tablet browsers in general. Like not remembering where you were on the page when you return to a long thread. Now it bookmarks your place. Android didn't support tapping the title bar to scroll to the top of the page. Now it does. This is essentially about reconstructing a better browsing experience for long discussions.
On the other hand, some of the improvements are legitimately in response to neglect on the part of MetaFilter. Compare these posting widgets for example. Besides disabling live-preview (which I've now re-enabled) and offering a tiny space for typing, the official mobile style sheet hides the posting buttons on iPhone for some reason while the Android comment box doesn't even fit on the screen. The latter is a show-stopping bug that isn't obvious if you only test the site on an emulator. So I fixed it.
Regardless of blame, I wanted a MetaFilter experience designed for mobile touchscreen devices. That may eventually happen in some official capacity. But until then, these prototypes go a long way toward addressing the problem.
posted by Jeff Howard at 12:37 PM on September 28, 2012
You are not logged in, either login or create an account to post comments
posted by Brent Parker at 11:46 AM on September 18, 2012