Snapchat implementation views - ios

I have something i have been thinking about and would like to know your views on it. So I have been wondering how snapchat is implemented.
Incase you don't know, Snapchat is instant messaging client for iOS(not sure if android has one). Users chat primarily through pictures and not text.
Because its an IM thing, it probably has an XMPP server to handle all the communication but here is what i am wondering. Can it be done without an XMPP server? I have thought about it for a long time and I think probably.
We could use a normal database server to hold the image, and then push the notification to the device as if it were a normal notification with a link to the image in the database server(don't mind the details).
The second way seems easier to implement with more scope for extending the product functionality.
Maybe I'm missing something. Would love other opinions on this.
I am aware that this is not the type of questions I should be asking and it'll probably be downvoted but I have to ask this, it's been killing me.

Related

How can I automate specific settings in IOS?

I’m no new user of Apple products, but I am brand new to coding and automation on iPhone. I’ve created an automation that does something at a specific time of day, but that’s as far as I’ve gotten because there’s limited settings they offer without me coding anything in. I’m trying to change a specific setting in the settings app “Notifications->(App)->turn notifications off” but I’m not sure how, or even if it’s possible to do, outside of what’s already programmed in. Thanks in advance, if anyone figures it out and lends a hand. (Edit: I would automate Do Not Disturb because that seems like the simple answer, but long story short, I don’t want anyone to see banners of messages and read my texts without my phone unlocked, and Do Not Disturb doesn’t do that as far as I’m aware.)

Automatically create firebase record from RSS feeds - feedthefire

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.

What do top iOS apps use for live notifications server-side?

This seems like a simple question to me, but it's one I simply can't find a good answer for: what do the top iOS apps (I'm talking Twitter, Facebook) use for live pushed data? Instead of polling an API for changes - real-time data updates, which I assume they have to have a method for.
My understanding is that the main solution is APNs (Apple Push Notifications) but I can't find any notable mention of apps using it... and have found only sparse support for NodeJS.
I'm deciding between that, and MQTT messages that trigger an API call. But I'm posting this question mainly because, in the back of my head, I think there's something I'm missing completely.
Thanks much for any information at all, or even pointing me in the right direction!
Check this out:
Firebase its really got but only for iOS and Android
AirNotifier supports iOS, Android and Windows
And this is a useful stackoverflow post for you.
happy coding!

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.

Do you chat online for work purposes?

I've worked with folks who are chatting online with their peers, constantly batting around ideas. I've also worked with folks who adamantly refuse and think it's a waste of time.
Are online live chatting forums of particular use to you? Why or why not?
Internal to your company, or external and world-wide?
Does your employer encourage or discourage their use?
Update: I see some people are voting this question down, yet so far all the answers have been positive, if with some reservations. If someone has a strong negative opinion (I hate online chatting and think it should be banned etc.) I'd really like to hear why.
If you have telecommuters, not chatting online will be the death of you.
Without chat, there is no interaction.
Without interaction, there is no problem solving.
Without problem solving, the code will suck.
The chatting part does waste a lot of time and I often wish I could just pull them out and just WriteSomeCode, but yeah, trade off scenario.
There's an additional benefit to using online converstations, in that it doesn't /have/ to be an interruption. If your working on something you can ignore them till you're done and they just have to deal with it. In real life you have a talking face to try get rid of. ( And the cool thing here is you can ignore them and they still get heard, have your cake and eat it too! )
I've used IM at the last three places I have worked. Currently the building that I am in is so large that it takes a couple of minutes just to walk to my managers office. Then there are the days that we work from home (1-2 days a week). Email for some purposes just doesn't cut it and the phone can be too disruptive and all encompassing for some tasks.
When I was doing consulting work I would give my IM contact information to my clients. About 25% of them would use it to contact me and I am still in contact with them to this day which opens up the possibility for future work! The clients that used IM felt that they had a better connection with me because they could see when I was online and available to talk.
I'm still in contact with old work colleagues through IM and this allows me quick access to their knowledge base as well.
My suggestions for using IM in the workplace are:
Use a client that supports multiple
protocols (MSN, Yahoo, AIM, Jaber,
etc)
Setup and use personal accounts for
each of the networks you are on
(i.e. don't use accounts tied
directly to your work)
Make sure your IM client records a
history of all of your conversations
Always be available but minimize
personal conversations
Provide your IM information freely
to friends, clients, and colleagues
Add appropriate groups (i.e.
friends, family, work) and filters
to reduce undesired interruptions
while still being available if
needed
Don't feel that you have to
respond to every chat request. Let
it set until you are ready to deal
with it
One other trick I use is to use text to speech software so that when a chat message comes in it is read allowed. When I am at home (or preoccupied away from the computer in the office) the message is automatically read allowed (I liken it to a ringing phone call) in order to get my attention. But, I don't have to stop what I am doing in order to know what the message is.
I used to. I found it a great resource to chat with people I used to work with. In our business I find that we tend to network alot and using that collective knowledge is awesome. Of course my company turned that off so they lose.
I know that a certain large Bank hasd an internal AIM setup so that they can IM each other. That was refreshing and dang useful. They also allowed some external access. Talk about getting the value of IM!
Yes, absolutly, I work with most of my employees, and employers via MSN/Yahoo/Skype/.../ it makes the work easier, because I can hire the better people without having to pay them to move to me.
When I need to collaborate with someone in another office, it's great ... when I'm deep in thought, I have to turn it off (just like e-mail).
It depends on the group dynamics and personal preferences. Personally, I have enjoyed my work groups that use chat to feed on each other's ideas and troubleshoot without as much walking around. If you are geography dispersed, its almost a necessity.
I find online chatting invaluable in many cases, but not normally instant messaging. Since I use many open source technologies at work, I tend to join the respective IRC channels, both to ask questions there, and sometimes to help others if I know the answer offhand.
It may depend on the work environment. As a self employed consultant, I'm always in chat - it's my primary communication to the world, along with emails for more official type communications.
Being able to converse with others creates synergy, but it also can cause distractions. A good manager can tell the difference.
At my last workplace, we used IM extensively for collaboration. Not so much at my present workplace. Infact, i have not once had to do that here in 6 months. But i do look around on the net for answers and sometimes i have posted queries on forums too. IM is a nice tool to have, but its also a time sink. Also, dont underestimate the lost focus. Its particularly hard to concentrate on getting that algo implemented right if someones constantly pinging you about how to establish a connection to an oracle database.
I work at home 2 to 3 days a week. I mainly use MSN to stay in touch with my coworkers. It's pretty useful to ask short questions quickly. If we find ourselves typing whole conversations we often agree to continue the conversation by phone.
I use IM to communicate with colleagues in other offices when it replaces a face-to-face chat. I turn off notifications in all my comms apps at work though, because they distract me otherwise.
I telecommute from California to Colorado and never have used chat. We do have daily SCRUM meetings and constant email threads. When I first started working remotely, we did try it but it seemed intrusive to several co-workers so we stopped using it, that was 4 years ago, I probably should give it another try.
It seems I have nothing to really add to what hasn't already been written.
I use it extensively, especially when remote people are involved in development. Without it your real time communication dies. It is the only viable method of communication that isn't as interruptive as phone calls or something of that nature. As we all know we can't just sit on the phone the whole time when developing, so chat is the next best thing for real time communication.
I personally don't like it. I think email allows you to take a little time to compose your thoughts.
IM seems to work for other people though. Whatever works!
Our entire business unit telecommutes. Only us first years are required to be in the office, so our enterprise IM solution is vital to staying in touch and on task. Its how my manager lets me know what project I'm working on, if I need to bill my time to another customer, or if I need to bounce ideas around. So yes, I do. Is it open for anyone to get on? No, not at all. You have to be on the intranet to access the system, and it is closed to any and all outsiders.
Out of the four professional jobs I've had over the past 8 years or so, I've only worked at one place that did not allow any type of instant messaging. All the other companies had at least some type of setup for intranet instant messaging.
I think that IM is almost necessary in today's business environment. I don't IM very much, but it's nice to have it available. Especially when I just need a quick answer to a question - like "Where is this file located?" and then boom I have a link to the file pop up right in front of my face.
I use IRC at work - it's almost a requirement for all of us who interact remotely (workign from home, different offices, and client sites) to be able to get help on problems fast.
Yup. It's actually required here. But only MSN though. We use it for development/task related communications with the team... which also help minimize noise since this company I'm currently working in is a big one where 90% are developers so utter silence is a MUST...
But if I've got questions to other members of the team, I prefer asking it personally though because I find it hard to explain some things when just chatting...
I've had to use it in my last job as my co-workers lived in the UK and my boss worked in California whereas I'm in Atlanta. It was used for quick questions and when it was "whenever you get the chance to respond" type thing. I could be on the phone and an IM pop-up and they would get an automatic message telling them that. Longer discussions were done with web cam and telephone and the ability to share a desktop to view code, data, etc.
My company won't allow it. Even if we run a IM server in house (so we aren't wasting time chatting with friends). I've tried to convince them, I find it really useful for knowing if someone is at their desk or not. The phones don't do that so well since if you don't pick up it redirects to a secretary that will get pissed if you are checking if someone's back every 5 min...
So I run a IM client on my phone so I can at least chat with a few people through out the day. (Less interrupting to others if my wife IMs me vs calls me and also easier to ignore if I need to).

Resources