Automatically create firebase record from RSS feeds - feedthefire - ios

I am working on a RSS based mobile app. However, all of the posts need to come from Firebase because there is metadata associated with them (likes etc..).
Originally I was thinking of using FeedKit (a RSS library for iOS) so that in the background every time a user is using the app, I'll push any new RSS items to Firebase. This seems like a very inelegant solution however.
I've been looking around for other ways to automate this on the web. One solution is to use Zapier: https://zapier.com/zapbook/zaps/3282/add-new-rss-by-zapier-feed-items-to-firebase-as-new-records/.
But with the amount of authors in our app this would be way too expensive.
Then I came across a library called FeedTheFire: https://github.com/katowulf/feedthefire
I would love to use this, it seems like a perfect solution. However I only have experience with Swift & iOS development, and have no idea how I would go about implementing this library.
If someone could give me a high-level idea of what would be involved with setting this up, that would be amazing. Keep in mind I have never worked in any other language than Swift, except basic front end web.
I'm not looking for anything specific, I'm sure I can hack up a solution. I just need a better idea of what that solution would actually look like.

Related

How to get everyone to see everyone else's photos in an instagram-like app

I am a first time iOS developer trying to build an iOS app from the ground up. It is for a photo-sharing startup that will have similar functionality to Instagram.
I am not sure how to approach the sharing/viewing aspect. Would I use something like Parse or Google cloud storage? It is an iOS only app, if that helps. Given that we are just a startup, a long trial or a cost per GB is fine, but I don't want to be stuck with something expensive if we start getting a lot of photo uploads.
Given that I'm the only developer, I'm hoping for something that doesn't require me to learn too many new technologies. Any help would be greatly appreciated!
Parse.com, the API is fairly easy to use. The free plan has a lot of functionality and it scales up well.
That's really a tough question. You first want to research each company and weigh the pros and cons with selecting each service. The Google Cloud and Google App Engine (while they do work extremely well together) are going to be a little less "centralized" since they are essentially marketed as separate services. Parse does have that "centralized" feeling since all of their services are designed to work together.
Another nice thing about Parse is that it has build in support for iOS local datastore which means even if your users don't have an internet connection the request will be queued until a connection is made. If you go with a service like the Google Cloud then you would have to implement that on your own or just not have offline functionality.
While Parse looks like a good solution for you, it would be hard for someone to answer your question with a definitive solution as that is up to you exactly how you want your product to work. Just continue to research other solutions as there may be something better and more suited for your exact needs. You may want to build a small prototype on one platform before dedicating all of your development to that platform.

IOS swift - Tracking used apps

I'm currently looking for a way to track user activity. I'm working on an IOS app using swift and i need stats of apps usage. basically I want to get-make a tracking of the used apps. Data like opened apps, start time and shut down time... I know that for get all stats, maybe is necessary run a backgroud service, but, this is another problem that i think to solve after. for now i want to know if it's posible, if there is some way to get stats for used apps. I know that the UIApplication class call the UIApplicationMain function when an app is launched. Maybe, from my app, there is a way for access this info?... Thanks, i have been a long time reading but really, i can't see some clear option.
If (as David has interpreted your question in the comments) you are trying to track usage of other apps that aren't yours, he's right; you can only track your own app's usage.
If you are needing to track events in your own app, there are a good number of analytic frameworks available to do exactly what you are needing to do.
Flurry is one I've used in the past with success, and is one of the more well know solutions. I've also utilized Google's analytics framework. Both are pretty straightforward to integrate into your app and to track the sort of fine grained events you are looking to capture. You can't go wrong with either one of those.
Here is a (slightly old) list of additional tracking/analytics options beyond Flurry and Google's offerings.
You can record your feedback and user experiences, and bug reports with lookback.io

Caching likes a follow state iOS swift

I'm building a small social network. I quite far already. But now I need to implement a caching system.
In my app I can like things and follow other peoples. So what I want:
When I like a recipe it automatically counts up the number of likes. In the whole app without to reload a page
When I follow someone the it aitmomatically counts up the number of followers. In the whole app aswell without reloading anything.
Does anybody have an idea how to do this?
I'm working with swift.
Thank you :D
If you need an in-memory cache try the following library:
http://realm.io
If you need some kind of persistent database here are some options:
YapDatabase (key-value SQLite wrapper)
Realm.io (it fits for such purposes too)
Core Data (seems that it is too complicated solution for your issue)
This might help to you in caching, which code has written in swift. Code is here!

Understanding Newsstand App

I have a big question about how newsstand works.
When you have to create a new magazine(issue), how do you do it?
I mean, Do I have to implement new code for each magazine (with new views and new view controllers) which doesn't look the same as the others and has interactive content? In this case, how do I add/upload/integrate them to my newsstand app which is already in the market?
In the case that It doesn't work in this way, How does it work?
Thank you very much in advance.
Your question really goes to the heart of how Apple has chosen to implement Newsstand. Basically, there are three possibilities for using Newsstand: use image/pdf content, use HTML5 content, and use the CoreText native API.
I take it from what you are saying that you would like to use the CoreText API. This is difficult to do in the Newsstand framework for the reason you suggest: you really are not supposed to upload a whole new app with each edition.
There are two possible solutions. The first is simply not to use Newsstand. Instead you can publish your magazine as an app, and simply upload a new app for each edition. This means you miss out on things such as subscriptions and the "double-listing" promotion of Newsstand, but you can make high-quality, native, custom interfaces.
The second is to do what I am in the process of doing right now, which is to develop something like an XML encoding that when loaded into your base app will generate the kind of interface you want.
At least that is my analysis so far. I would be so pleased to be told I'm wrong, really. But I do think this is one of those cases where Apple hasn't really thought through what they are offering. Maybe next year it will get better!
If you use the Baker framework you can download the interface elements (html, images) as "issues" and the code part (Baker framework) will stay the same.
To add a new issue you do the same as you do with downloading the PDFs using NKAssetDownload. If you're using Baker you will want to extract the whole "book" into the documents directory.

Best way to go about creating in-house analytics for my Rails 3 app?

I have a Rails 3 app that I'm looking to create in-house analytics for. The items I need to track are impressions (and unique impressions), clicks that come from those impressions, and conversions that come from those clicks. And these are all user-specific so each user can see how many impressions, clicks, and conversions they've received.
What is the best way to go about this? Should I create a separate rails app and call it with pixels? Or should I include all the analytics code in the same app?
Also, are there any analytics platforms already out there that I can customize to meet my needs?
Thanks!
Tim
Before you start re-inventing the wheel, Google Analytics provide a developer API (via OAuth, among other choices) that may provide you with the ability to do what you need (provide each user with a view of their own data).
http://code.google.com/apis/analytics/docs/gdata/home.html
Building your own, while it may seem like an initially basic thing to do, could have serious performance implications further down the line, and Google provide a very detailed view of the the data.
If you really want to write your own, I would strongly urge you not to hit the database for each request you want to track. Keep the data in Redis, or one of the alternatives and periodically persist it to the database via a background task.
If, however, you don't want to put your data into the clutches of our Google Overlord :) then you might indeed consider rolling your own. I have twice before - and I'm doing it again right now: better this time, of course!
If your traffic is not very high and you're running on any decent server platform then adding a tracking system is not going to tax your Rails app noticeably (I know that depends on what 'decent server platform' means but this stuff is pretty cheap these days). Writing to a database is typically very fast - you'd have to have shedloads of clicks to not want to do this straightaway. You can probably bypass most if not all of your before_filters and so on to get a lightning response. One app that runs 2.3.9 uses Metal to do this, for example.
In my new tracking system I have an STI table that goes with models derived from an Activity model; in here you can record both impressions and clicks. Impressions are recorded as the page is built and clicks are recorded using AJAX.
I'm not going to bother with fancy graphs and so on - I'm happy with raw numbers - but these could be added, of course.
At the moment my system is just in the usual app/ folder but I'll probably move it to an engine so I can re-use it more easily.
Hope that helps!
BTW I use Google Analytics as well for a range of sites and it's OK - I just like to do this bit myself.
Depending on how you are going to associate Google Analytics data with a specific user then you might need to double-check the privacy implications. Google doesn't allow their data to be associated with any identifying information about the users being tracked.
If there is a problem then you could try out Piwik as it's open source and you can do what you like with it. It's written in PHP, not Ruby so that might be an issue. As #d11wtq mentions, tracking systems can have performance issues if not built in the right way so you'd be better off starting from something that's already proven to work if possible.

Resources