BGTaskRequest earlestBeginDate maximum time possible - ios

I am interested in understanding what is the farthest future date in time you can schedule a BGTask. For example is it possible to schedule on 7 days from now? Also, what if the user has not opened the app for 7 days, does this affect the system decision to fire the task? Apple seems very cryptic about the issue: https://developer.apple.com/documentation/backgroundtasks/bgtaskrequest/3142244-earliestbegindate
Where can we find the details description of the constraints and capabilities of background tasks.
Update: I watched https://developer.apple.com/videos/play/wwdc2020/10063/ which helped a lot to shed light on many concerns I had.

Related

What are the limitations when working with PubSubHubbub (youtube API)?

I've been able to implement the functionality and everything works fine with the test data. My concerns are with the limitations and possible problems with tracking more users. My questions are:
How many users are we allowed to track?
I've found that the max value for hub.lease_seconds is 828000 here and am wondering if this essentially means that I have to renew that every (say) 9 days?
Any other limitations one should be concerned of?
I couldn't find information about this online so even pointing me in the direction of some docs would be highly appreciated!

How to handle lifetime in firebase dynamic links ? (iOS)

I have a question about dynamic links on iOS. We use them in our applications, and it seems that their expiration time is really short (about 5 minutes).
From the appstore, its not working because the download last more than this time
From xcode build, if we open directly the app its working. If we build from xcode and then wait 5 minutes, its not working anymore
Any clue about this ? Its really bad because Branch base lifetime is about 2hours, and a 5 minutes lifetime make them kind of useless
Ok, got the answer from support. I put it here for others people
Hi Jonathan,
Yes, the 5 minutes limitation is intended. I have brought your request to the attention of the engineers, but I can't share any details or timelines at this time.
Thanks,
EDIT: As said Todd Kerpelman Firebase was super reactive and update the lifetime to 60 minutes. Work perfect now ! Thanks :)
Some further detail:
Yes, this 5 minute limitation was intentional as FeFe noted -- due to the way the Dynamic Links team is implementing this feature, the accuracy of dynamic links for non-installed apps tends to decrease over time, and they wanted to make sure there was good trade-off between time and accuracy.
That said, I think they went too far in the "accuracy" direction, and after some discussion, the team decided to change this limit to an hour. Note that this value isn't set in stone and might be subject to change in the future, depending on feedback from developers and users. But I think 60 minutes should be a pretty good setting for most people.

Mobile iOS usage tracking

I'm currently looking for a way to track basic user data for mobile iOS application:
how many times the app was launched
what was the average/by session time spent in total while using app
what was the average/by session time spent on particular screen
Additionally, I'd like the solution to:
display a heatmaps or click/tap/maps (clickstreams), to show how users tried to interact with the interface
generate visit graphs (user started from this screen, then went to this screen, etc.)
The most important requirement is that this is for internal application testing (nothing malicious), and we want to categorize data by user logged in (so that we can gather data per user, not some general average).
Can anyone recommend a suitable tool? Price or paid, doesn't matter. Is Google Analytics up for the job, or do we need something else?
Youve got several options to track the user behavior in the app. You can use frameworks like :
Flurry (http://www.flurry.com/)
Mixpanel (http://mixpanel.com/)
Localytics (http://www.localytics.com/)
Google analytics
Im pretty sure there are more. Flurry is free (for now but you have some special paid features) and it´s broadly used. It´s the framework I use the most for my apps in these moments but it will depend of the client and the information you want to track. You can track events, events with information, see the stats of use, how the user has used the application, find dead holes in your app and broadly speaking, have a general idea about how your application has been used. The other frameworks are not free and you have to pay for the services but you can always use a trial version to see if this is what you want or not. Ive used localytics and its nice.
Ive tried all of them, and there are pros and cons, but to get a general idea about your application, everyone serves. Regarding heatmaps, Im not sure about that, I mean if some of the frameworks offer a solution like that, but you can always build your reports with the provided information (I know it´s not a straightforward thing or a 5 minutes thing).
Take a look, compare and decide which one can fit the best for you.
Well these days app analysis is very important and are of great help. There are large number of analytics tools available. Some of them are free some of them are paid.
below are some of them
Flurry
Google Analytics
Heatmaps
These are few which are used most. For most list visit this link
Hope this will help you. happy coding :)

Best analytics offering for iPhone

What is the best iPhone analytics offering out there? I've seen Pinchmedia but I'm not sure about it since the default application page says "Last Updated July 2008".
Nowadays Pinch Media has been merged into Flurry. Flurry is a decent choice.
If this is a quick project 'afterthought' you'll be pleased to know that basic Flurry integration is a one liner in the AppDelegate :)
I've tried several packages and Pinch Media is by far the best. I don't know where that July 2008 date comes from, they've been releasing updates regularly and are super-responsive to feedback and questions emailed to their support people. Whether by coincidence or not, several of my suggestions have made it into the current Pinch libraries
Aside from the excellent support, the reason I prefer pinch is that they seemed to be the only package that updates several times a day - usually once per hour. This is great if you're trying new advertising techniques, or just like obsessing over your sales figures (as every developer does at first :)
On the downside there are two issues I have with Pinch - their website can be a little clunky and isn't very iPhone friendly (ironic!), and at times they've had problems where stat updates aren't available due to hardware problems. I also wish they had an "overview" for all your applications.
It's worth pointing out that all of the analytics libraries are extremely easy to build into your application and all work with both the simulator and hardware so it's extremely easy to evaluate them to find the one you like best. It's even possible to use several at once - though I would only do this for testing.
Google :)
http://code.google.com/intl/fr-FR/apis/analytics/docs/tracking/mobileAppsTracking.html
Flurry is a very nice option. In my most recent app I have tried Appsee Mobile Analytics which I like if you're looking for something different - they give you video recordings of user sessions and heat maps. It's a little more interactive than other analytics
If you are interested in visual analytic tools, like heatmaps, or you want to get some inside on the way that your users use your app you should try heatma.ps
Quantcast, who is well know for audience demographics measurement for websites, launched it's Quantcast Measure for Mobile Apps program earlier this year. Their iOS, Android, and PhoneGap SDK is available on github.
At this point you may well want to roll your own - on a constrained device do you really want a third party library taking up an unknown amount of limited network bandwidth and processing power?

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