Test CircleCount PRO now!
Login now

Not your profile? Login and get free access to your reports and analysis.

Tags

Sign in

No tag added here yet.
You can login on CircleCount to add some tags here.

Are you missing a tag in the list of available tags? You can suggest new tags here.

Login now

Do you want to see a more detailed chart? Check your settings and define your favorite chart type.

Or click here to get the detailed chart only once.

Michael Mahemoff has been at 1 events

HostFollowersTitleDateGuestsLinks
Google Developers2,319,594Google I/O is an annual developer conference featuring highly technical, in-depth sessions, and showcasing the latest from Google's product teams and partners.Google I/O 20132013-05-14 23:00:005054  

Shared Circles including Michael Mahemoff

Shared Circles are not available on Google+ anymore, but you can find them still here.

The Google+ Collections of Michael Mahemoff

New!
Login and checkout your own profile to see the average response per collection.
Or check out how it looks like on the profile page of +CircleCount.

Looks like this is your profile but we haven't loaded your posts yet to show you here the average numbers per collection.
Just open your dashboard and let the server work for you.

Activity

Average numbers for the latest posts (max. 50 posts, posted within the last 4 weeks)

2
comments per post
2
reshares per post
3
+1's per post

271
characters per posting

Top posts in the last 50 posts

Most comments: 11

2016-06-18 23:03:23 (11 comments; 0 reshares; 2 +1s; )Open 

Does this GIF load for you? [Update: No.]

Google+ seems unable to render it at sane speed? [Update: Correct.]
https://plus.google.com/u/0/+MichaelMahemoff/posts/3fPa3Z519aF

Most reshares: 18

posted image

2016-07-15 08:35:19 (0 comments; 18 reshares; 4 +1s; )Open 

+Paul Kinlan rigged up credit card payments on the world wide web! Standards win if this pulls off ...

https://w3c.github.io/browser-payment-api/

Most plusones: 41

posted image

2016-06-02 09:10:18 (2 comments; 12 reshares; 41 +1s; )Open 

#JPEG #TheDefinitiveGuide

Latest 50 posts

posted image

2016-07-21 17:35:31 (3 comments; 1 reshares; 6 +1s; )Open 

Pokemon and dog shelters 🐶🐶🐶

Right out of a sci-fi novel ...


Pokemon and dog shelters 🐶🐶🐶

Right out of a sci-fi novel ...
___

posted image

2016-07-19 19:22:06 (2 comments; 0 reshares; 7 +1s; )Open 

Agree with this. Nexus 6P has been one of the best phones I've owned historically in terms of just getting things right*. And I'm perfectly happy with the screen size, enough that I'm barely using a tablet now.

Hoping the next line "just works" too.

* I did have to spend a small fortune on usb c cables and chargers, but at least they have a quick charging benefit and are future proofed.

I've now been using Nexus 6p for quite a some time. It's by far the Android phone I've ever used and for the first time with a Nexus I'm not looking forwards to this year's refreshed models. It's a scary thought but it might be the first time I won't be updating my phone when the new ones come out... or maybe I will but still.. it's the thought that counts ;)

This phone is simply great.___Agree with this. Nexus 6P has been one of the best phones I've owned historically in terms of just getting things right*. And I'm perfectly happy with the screen size, enough that I'm barely using a tablet now.

Hoping the next line "just works" too.

* I did have to spend a small fortune on usb c cables and chargers, but at least they have a quick charging benefit and are future proofed.

posted image

2016-07-17 17:45:43 (3 comments; 0 reshares; 4 +1s; )Open 

"Screen real estate" gone wild
https://twitter.com/BrittRealty/status/752585094360018944?s=09

"Screen real estate" gone wild
https://twitter.com/BrittRealty/status/752585094360018944?s=09___

posted image

2016-07-15 08:35:19 (0 comments; 18 reshares; 4 +1s; )Open 

+Paul Kinlan rigged up credit card payments on the world wide web! Standards win if this pulls off ...

https://w3c.github.io/browser-payment-api/

+Paul Kinlan rigged up credit card payments on the world wide web! Standards win if this pulls off ...

https://w3c.github.io/browser-payment-api/___

posted image

2016-07-15 08:33:38 (2 comments; 0 reshares; 3 +1s; )Open 

Happy Dystopia Friday!

via TNW http://thenextweb.com/shareables/2016/07/14/insane-video-shows/

Happy Dystopia Friday!

via TNW http://thenextweb.com/shareables/2016/07/14/insane-video-shows/___

posted image

2016-07-11 18:06:39 (7 comments; 1 reshares; 3 +1s; )Open 

"Pokemon Go has full access to your Google account"

You may want to read this if you're playing Pokemon on iOS.

"""
Let me be clear - Pokemon Go and Niantic can now:

Read all your email
Send email as you
Access all your Google drive documents (including deleting them)
Look at your search history and your Maps navigation history
Access any private photos you may store in Google Photos
And a whole lot more
"""

"Pokemon Go has full access to your Google account"

You may want to read this if you're playing Pokemon on iOS.

"""
Let me be clear - Pokemon Go and Niantic can now:

Read all your email
Send email as you
Access all your Google drive documents (including deleting them)
Look at your search history and your Maps navigation history
Access any private photos you may store in Google Photos
And a whole lot more
"""___

posted image

2016-07-08 16:45:40 (0 comments; 0 reshares; 1 +1s; )Open 

A few options to browse podcasts by topic ;)

A few options to browse podcasts by topic ;)___

posted image

2016-07-05 13:58:05 (0 comments; 0 reshares; 2 +1s; )Open 

___

posted image

2016-07-02 13:35:03 (2 comments; 0 reshares; 1 +1s; )Open 

Scale of Australia's election

The biggest electorate would be the world's 19th biggest country! [1]. Between Mongolia and Iran.

Article: http://www.bbc.co.uk/news/world-australia-36637557

1. https://www.theguardian.com/australia-news/2016/may/15/durack-australias-largest-electorate-feels-like-its-being-ignored 

Scale of Australia's election

The biggest electorate would be the world's 19th biggest country! [1]. Between Mongolia and Iran.

Article: http://www.bbc.co.uk/news/world-australia-36637557

1. https://www.theguardian.com/australia-news/2016/may/15/durack-australias-largest-electorate-feels-like-its-being-ignored ___

posted image

2016-06-29 14:09:04 (0 comments; 0 reshares; 2 +1s; )Open 

✔ Instead of 'cargo culting' the app stores we should be asking what web-centric solutions to the problem would look like.

Cargo cults and progressive web app stores
People are seeing that native app platforms have some feature and are then asking for the exact same feature for the web. Instead they should be asking about the job to be done and the benefits users or developers see from a given feature. For example app s...___✔ Instead of 'cargo culting' the app stores we should be asking what web-centric solutions to the problem would look like.

posted image

2016-06-27 21:52:06 (2 comments; 0 reshares; 3 +1s; )Open 

___

posted image

2016-06-26 21:52:28 (0 comments; 0 reshares; 3 +1s; )Open 

15 weeks later, Feedly API is still on hold. "We are in the process of creating the second iteration of the feedly API. The ETA is Q2 2016."

Unusual decision from Feedly to cut their API access until the next version releases. They will presumably have to support the current API for some years ago why drive away new developers? Only logical reason I can think of the current API has serious capability issues or other issues that make it undesirable to use.

They obviously know what's best, but it's curious and not something I've seen before. I'd have thought they'd include a mailing list for developers to be notified so they can at least soak up some beta testers.

"""
The feedly Cloud API

Update: We are in the process of creating the second iteration of the feedly API. The ETA is Q2 2016. We will NOT be delivering production keys between now and then. If you have an urgent request, please contact support@feedly.com
"""
___15 weeks later, Feedly API is still on hold. "We are in the process of creating the second iteration of the feedly API. The ETA is Q2 2016."

posted image

2016-06-26 08:54:08 (2 comments; 0 reshares; 3 +1s; )Open 

If Australian football appeared on Lost

If Australian football appeared on Lost___

posted image

2016-06-26 02:52:38 (0 comments; 0 reshares; 4 +1s; )Open 

Thankyou for your input, this guy

https://www.reddit.com/r/AdviceAnimals/comments/4puw08/this_guy_on_amazon/

Thankyou for your input, this guy

https://www.reddit.com/r/AdviceAnimals/comments/4puw08/this_guy_on_amazon/___

posted image

2016-06-25 20:58:50 (3 comments; 0 reshares; 4 +1s; )Open 

The movie Sunshine (2007) is sadly underrated, but at least its music lives on in countless other productions, such as Kick-Ass, Walking Dead, and every Hollywood trailer ever..

The movie Sunshine (2007) is sadly underrated, but at least its music lives on in countless other productions, such as Kick-Ass, Walking Dead, and every Hollywood trailer ever..___

posted image

2016-06-25 08:11:07 (0 comments; 2 reshares; 16 +1s; )Open 

___

posted image

2016-06-24 09:50:01 (0 comments; 0 reshares; 7 +1s; )Open 

https://twitter.com/davidfarrier/status/746032197342232576?s=09

https://twitter.com/davidfarrier/status/746032197342232576?s=09___

posted image

2016-06-23 10:07:05 (8 comments; 0 reshares; 6 +1s; )Open 

Top reasons people stop using wearable technologies
I'm not sure what everyone's thoughts are on this but requiring the use of a phone for functionality like connectivity happen to be the top three, and I think those should be one core metric. IMO the top three are linked.

Top reasons people stop using wearable technologies
I'm not sure what everyone's thoughts are on this but requiring the use of a phone for functionality like connectivity happen to be the top three, and I think those should be one core metric. IMO the top three are linked.___

posted image

2016-06-20 21:09:51 (2 comments; 3 reshares; 13 +1s; )Open 

When YouTube sends your hydraulic crushing channel an award ... the logical response ensues 

When YouTube sends your hydraulic crushing channel an award ... the logical response ensues ___

2016-06-20 09:49:48 (2 comments; 0 reshares; 3 +1s; )Open 

This is like Google IO handing out Snapchat cards (http://www.androidcentral.com/sites/androidcentral.com/files/styles/larger_wm_brw/public/article_images/2016/05/google-io-swag-1.jpg).

We’re making a few changes and want to make sure you’re in the loop. On 24th June, we’ll be closing this page. To stay in the know about Campus London events and news, follow us on Twitter, Instagram, or Facebook (@CampusLondon) and subscribe to our newsletter campus.co/news/london.

___This is like Google IO handing out Snapchat cards (http://www.androidcentral.com/sites/androidcentral.com/files/styles/larger_wm_brw/public/article_images/2016/05/google-io-swag-1.jpg).

2016-06-18 23:03:23 (11 comments; 0 reshares; 2 +1s; )Open 

Does this GIF load for you? [Update: No.]

Google+ seems unable to render it at sane speed? [Update: Correct.]
https://plus.google.com/u/0/+MichaelMahemoff/posts/3fPa3Z519aF

Does this GIF load for you? [Update: No.]

Google+ seems unable to render it at sane speed? [Update: Correct.]
https://plus.google.com/u/0/+MichaelMahemoff/posts/3fPa3Z519aF___

posted image

2016-06-18 17:18:46 (0 comments; 0 reshares; 6 +1s; )Open 

That epiphany moment 🤔🐶🏄

That epiphany moment 🤔🐶🏄___

posted image

2016-06-13 23:44:52 (3 comments; 0 reshares; 10 +1s; )Open 

LinkedIn summarised in 560 characters or less.
https://twitter.com/BenedictEvans/status/742346743438823424

LinkedIn summarised in 560 characters or less.
https://twitter.com/BenedictEvans/status/742346743438823424___

posted image

2016-06-05 17:53:09 (0 comments; 0 reshares; 1 +1s; )Open 

“Product Design Tools On a Startup Budget” by @ProductHunt https://medium.com/product-hunt/product-design-tools-on-a-startup-budget-a36831da4102

“Product Design Tools On a Startup Budget” by @ProductHunt https://medium.com/product-hunt/product-design-tools-on-a-startup-budget-a36831da4102___

posted image

2016-06-05 11:15:03 (0 comments; 5 reshares; 26 +1s; )Open 

___

posted image

2016-06-03 14:08:41 (1 comments; 2 reshares; 27 +1s; )Open 

___

2016-06-03 09:53:59 (9 comments; 0 reshares; 2 +1s; )Open 

You'd think Google+ would support dragging images into the browser, a capability of the web platform that precedes Google+.

(Update: It's technically possible, a couple of 2 clicks away, without any UI cues.)

You'd think Google+ would support dragging images into the browser, a capability of the web platform that precedes Google+.

(Update: It's technically possible, a couple of 2 clicks away, without any UI cues.)___

posted image

2016-06-03 09:51:37 (0 comments; 0 reshares; 3 +1s; )Open 

https://twitter.com/tt265/status/738648145375068160/photo/1

https://twitter.com/tt265/status/738648145375068160/photo/1___

posted image

2016-06-02 15:50:26 (0 comments; 0 reshares; 2 +1s; )Open 

The practicalities of an AI society with Robin Hanson
https://player.fm/1aFVzM #nowplaying

The practicalities of an AI society with Robin Hanson
https://player.fm/1aFVzM #nowplaying___

posted image

2016-06-02 09:10:18 (2 comments; 12 reshares; 41 +1s; )Open 

#JPEG #TheDefinitiveGuide

#JPEG #TheDefinitiveGuide___

posted image

2016-05-31 20:44:57 (0 comments; 0 reshares; 2 +1s; )Open 

When i fell ...my puppy....

When i fell ...my puppy....___

2016-05-30 14:12:43 (10 comments; 2 reshares; 7 +1s; )Open 

#TeamSpaces

Soooo...what type of coder are you?
Pythonistas who chant the Zen of Python need not vote.___#TeamSpaces

2016-05-30 14:10:25 (0 comments; 1 reshares; 10 +1s; )Open 

Seriously.

A request to all bloggers who write technical articles:

Please make sure that your article has a date of when it was written. There's a lot of very useful articles out there but sometimes it's difficult to know if the information is relevant anymore. This is especially true with articles dealing with Android Support Lib stuff.

:-)___Seriously.

posted image

2016-05-29 21:51:28 (3 comments; 6 reshares; 17 +1s; )Open 

Security versus UX

http://dilbert.com/strip/2007-11-16/

Security versus UX

http://dilbert.com/strip/2007-11-16/___

posted image

2016-05-24 21:07:25 (4 comments; 1 reshares; 2 +1s; )Open 

Nexus Player is being discontinued. I wonder what that means for Android TV? It wasn't mentioned in the IO keynote, but otoh it seems to be doing well with TV manufacturers and may tie in with Google Home.

Nexus Player is being discontinued. I wonder what that means for Android TV? It wasn't mentioned in the IO keynote, but otoh it seems to be doing well with TV manufacturers and may tie in with Google Home.___

posted image

2016-05-24 11:31:32 (0 comments; 0 reshares; 1 +1s; )Open 

All of our Mobile Web #io16 talks are now up on Youtube and in one handy Playlist!

https://www.youtube.com/playlist?list=PLNYkxOF6rcIDz1TzmmMRBC-kd8zPRTQIP

All of our Mobile Web #io16 talks are now up on Youtube and in one handy Playlist!

https://www.youtube.com/playlist?list=PLNYkxOF6rcIDz1TzmmMRBC-kd8zPRTQIP___

2016-05-22 07:27:53 (0 comments; 1 reshares; 3 +1s; )Open 

Agree, hope Firebase Analytics will get a web SDK / REST API soon.

Checking out +Firebase over the last couple of days has been really cool. The biggest problem is that web is currently a second class citizen behind Android and iOS. It doesn't get access to analytics, crash reporting, notifications (display and triggering APIs), and offline databases.

Hopefully those will come to web soon as the real power of Firebase is everything working together. Plus I want to build real progressive web apps!

#io16___Agree, hope Firebase Analytics will get a web SDK / REST API soon.

posted image

2016-05-21 06:33:24 (0 comments; 0 reshares; 2 +1s; )Open 

Enjoying an IM catchup with Smart Reply

Enjoying an IM catchup with Smart Reply___

posted image

2016-05-20 07:22:23 (1 comments; 1 reshares; 3 +1s; )Open 

XKCD on digital replication
via https://twitter.com/dret/status/733541518762332160?s=09

XKCD on digital replication
via https://twitter.com/dret/status/733541518762332160?s=09___

posted image

2016-05-20 05:35:13 (2 comments; 0 reshares; 8 +1s; )Open 

You say that like Nexus is a bad thing!

Best thing Google could do with VR is follow the Android phone model of offering choice while providing a high quality device of its own.

You say that like Nexus is a bad thing!

Best thing Google could do with VR is follow the Android phone model of offering choice while providing a high quality device of its own.___

posted image

2016-05-19 21:50:56 (6 comments; 0 reshares; 11 +1s; )Open 

This is what makes Chromebooks so good to me ... finally, a standardised machine for Linux. I don't have to wonder if I'm going to drop £500 only to be knee-deep compiling a wifi drivers.

Hey, either Macs don't count much on the desktop, or we may have to finally lay the "year of the Linux desktop" joke to rest.___This is what makes Chromebooks so good to me ... finally, a standardised machine for Linux. I don't have to wonder if I'm going to drop £500 only to be knee-deep compiling a wifi drivers.

2016-05-19 09:39:59 (0 comments; 0 reshares; 0 +1s; )Open 

Instant Apps: Towards a cloud home for apps

Android Instant Apps is the first step towards a pure cloud OS where app location - cloud or local - is transparent to user and developer.

We've already seen some attempts to do this kind of thing with data, e.g. Nextbit Robin. I think apps will work the same way in the future. You won't have to know or care if the app is on your phone.

You might be able to explicitly "pin" an app so it stays there and works offline, but otherwise they can come and go, maybe with just an icon indicating if it will require some "boot" time.

Instant Apps: Towards a cloud home for apps

Android Instant Apps is the first step towards a pure cloud OS where app location - cloud or local - is transparent to user and developer.

We've already seen some attempts to do this kind of thing with data, e.g. Nextbit Robin. I think apps will work the same way in the future. You won't have to know or care if the app is on your phone.

You might be able to explicitly "pin" an app so it stays there and works offline, but otherwise they can come and go, maybe with just an icon indicating if it will require some "boot" time.___

posted image

2016-05-19 09:32:51 (4 comments; 0 reshares; 2 +1s; )Open 

Just a matter of time till the OS automatically removes unused apps from the phone itself. (Probably a good thing, albeit with 57 caveats.)

No more scrolling for hours. ___Just a matter of time till the OS automatically removes unused apps from the phone itself. (Probably a good thing, albeit with 57 caveats.)

posted image

2016-05-19 03:04:16 (6 comments; 0 reshares; 4 +1s; )Open 

Hope some improvements are made to this situation on next days. Didn't attend a single session today beyond keynote. Desperately needs a booking/notification system.

Google IO 2016: A look at how not to run a large event http://tnw.me/UBRULro___Hope some improvements are made to this situation on next days. Didn't attend a single session today beyond keynote. Desperately needs a booking/notification system.

posted image

2016-05-16 09:20:01 (0 comments; 0 reshares; 5 +1s; )Open 

Sweet :D

Google Play will soon let you join beta programs to test Android apps http://tnw.me/VL5wIdd___Sweet :D

2016-05-16 05:41:23 (1 comments; 0 reshares; 5 +1s; )Open 

"Android could feel like it has strong opinions on how apps should be written. With its Java language APIs and fairly high-level concepts, it can look like a typical application framework that is there to say how applications should be doing their work. But for the most part, it is not."

(Trending on HN https://news.ycombinator.com/item?id=11703545)

"How should I design my Android application? What kind of MVC pattern should I use? What should I use for an event bus?"

We often see questions from developers that are asking from the Android platform engineers about the kinds of design patterns and architectures they use in their apps. But the answer, maybe surprisingly, is we often don't have a strong opinion or really an opinion at all.

Should you use MVC? Or MVP? Or MVVM? I have no idea. Heck, I only know about MVC from school and had to do a Google search to find other options to put here.

This may be surprising, because Android could feel like it has strong opinions on how apps should be written. With its Java language APIs and fairly high-level concepts, it can look like a typical application framework that is there to say how applications should be doing their work. But for the most part, it is not.

It is probably better to call the core Android APIs a "system framework." For the most part, the platform APIs we provide are there to define how an application interacts with the operating system; but for anything going on purely within the app, these APIs are often just not relevant.

That said, the Android APIs can often look different (or higher level) from what one typically expects in an operating system, which may easily lead to confusion about how they should be used.

For an example of this, let's consider how an operating system defines "how to run an app." In a classic system, this is basically the contract it has with an application about when it should run:

int main(...) {
// My app goes here!
}

So the operating system starts the app, calls its main() function, and the app goes off and runs and does what it wants until it decides it is done. And clearly it is not saying anything here about what the app should be doing or how it should be designed within that main function -- it's a pretty pure blank slate.

In Android, however, we explicitly decided we were not going to have a main() function, because we needed to give the platform more control over how an app runs. In particular, we wanted to build a system where the user never needed to think about starting and stopping apps, but rather the system took care of this for them... so the system had to have some more information about what is going on inside of each app, and be able to launch apps in various well-defined ways whenever it is needed even if it currently isn't running.

To accomplish this, we decomposed the typical main entry point of an app into a few different types of interactions the system can have with it. And these are the Activity, BroadcastReceiver, Service, and ContentProvider APIs that Android developers quickly become familiar with.

These classes may look like they are telling you how the internals of your app should work, but they are not! In fact, they are all about how your app needs to interact with the system (and how the system can coordinate its interaction with other apps). As long as that interaction with the system happens, we don't really care what goes on inside of the app.

To illustrate, let's briefly look at these different APIs and what they really mean to the Android system.

Activity

This is the entry into an application for interacting with the user. From the system's perspective, the key interactions it provides with the app are:

• Keep track of what the user currently cares about (what is on screen) to ensure the process hosting that is kept running.
• Know that previously used processes contain things the user may return to (stopped activities), and thus more highly prioritize keeping those processes around.
• Help the application deal with the situation where its process is killed so the user can return to activities with their previous state restored.
• Provide a way for applications to implement user flows between each other, coordinated by the system. (The most classic example here being share.)

What we don't care about:

Once we have gotten in to this entry-point to your UI, we really don't care how you organize the flow inside. Make it all one activity with manual changes to its views, use fragments (a convenience framework we provide) or some other framework, or split it into additional internal activities. Or do all three as needed. As long as you are following the high-level contact of activity (it launches in the proper state, and saves/restores in the current state), it doesn't matter to the system.

BroadcastReceiver

This is a mechanism for the system to deliver events to the application that may be outside of a regular user flow. Most importantly, because this is another well-defined entry into the app, the system can deliver broadcasts to apps even if they aren't currently running. So, for example, an app can schedule an alarm to post a notification to tell the user about an upcoming event... and by delivering that alarm to a BroadcastReceiver of the app, there is no need for the app to remain running until the alarm goes off.

What we don't care about:

Dispatching events within an app is an entirely different thing. Whether you use some event bus framework, implement your own callback system, whatever... there is no reason to use the system's broadcasting mechanism, since you aren't dispatching events across apps. (In fact there is good reason not to -- there is a lot of unnecessary overhead and many potential security issues if using a global broadcast mechanism for the internal implementation of an app.) We do provide the LocalBroadcastManager convenience class that implements a purely in-process intent dispatching system with a similar API to the system's APIs, if you happen to like them. But again, there is no reason to use that over something else for things going on purely within your app.

Service

A general-purpose entry point for keeping an app running in the background for all kinds of reasons. There are actually two very distinct semantics services tell the system about how to manage an app:

Started services are simply telling the system to, for some reason, "keep me running until I say I am done." This could be to sync some data in the background or play music even after the user leaves the app. Those also represent two different types of started services that modify how the system handles them:

• Music playback is something the user is directly aware of, so the app tells the system this by saying it wants to be foreground with a notification to tell the user about it; in this case the system knows that it should try really hard to keep that service's process running, because the user will be unhappy if it goes away.

• A regular background service is not something the user is directly aware as running, so the system has more freedom in managing its process. It may allow it to be killed (and then restarting the service sometime later) if it needs RAM for things that are of more immediate concern to the user.

Bound services are running because some other app (or the system) has said that it wants to make use of the service. This is basically the service providing an API to another process. The system thus knows there is a dependency between these processes, so if process A is bound to a service in process B, it knows that it needs to keep process B (and its service) running for A. Further, if process A is something the user cares about, than it also knows to treat process B as something the user also cares about.

Because of their flexibility (for better or worse), services have turned out to be a really useful building block for all kinds of higher-level system concepts. Live wallpapers, notification listeners, screen savers, input methods, accessibility services, and many other core system features are all built as services that applications implement and the system binds to when they should be running.

What we don't care about:

Android doesn't care about things going on within your app that don't have any impact on how it should manage your process, so there is no reason to use services in these cases. For example, if you want to start some background operation to download data for your UI, you should not use a service for this -- it is actually important to not be telling the system to keep your process running while doing this, because it really doesn't need to be and the system would be better off having more freedom in managing it with other things the user is doing.

If you just make a simple background thread (or whatever non-service mechanism you want) to do the downloading, you will get the semantics you want: while the user is in your UI, the system will keep your process running for that, so the download will never be interrupted. When they leave your UI, your process will still be kept around (cached) and able to continue downloading, as long as its RAM isn't needed elsewhere.

Likewise for connecting different parts of your app together, there is no reason to bind to a service that is running in the same process as the one binding to it. Doing so is not actively harmful -- the system just sees a dependency from the process to itself so doesn't try to keep it around any more than usual -- but it is a bunch of unnecessary work for both you and the system. Instead, you can just use singletons or other normal in-process patterns for connecting pieces of your app together.

ContentProvider

Finally, the ContentProvider is a fairly specialized facility for publishing data from an app to other places. People generally think of them as an abstraction on a database, because there is a lot of API and support built in to them for that common case... but from the system design perspective, that isn't their point.

What these are to the system is an entry-point into an app for publishing named data items, identified by a URI scheme. Thus an app can decide how it wants to map the data it contains to a URI namespace, handing out those URIs to other entities which can in turn use them to access the data. There are a few particular things this allows the system to do in managing an app:

• Handing out a URI doesn't require the app remain running, so these can go all over the place with the owning app being dead. Only at the point where someone tells the system, "hey give me the data for this URI" does it need to make sure the app owning that data is running, so it can ask the app to retrieve and return the data.

• These URIs also provide an important fine-grained security model. For example, an application can place the URI for an image it has on the clipboard, but leave its content provider locked up so nobody can freely access it. When another app pulls that URI off the clipboard, the system can give it a temporary "URI permission grant" so that it is allowed to access the data only behind that URI, but nothing else in the app.

What we don't care about:

It doesn't really matter how you implement the data management behind a content provider; if you don't need structured data in a SQLite database, don't use SQLite. For example, the FileProvider helper class is an easy way to make raw files in your app available through a content provider.

Also, if you are not publishing data from your app for others to use, there is no need to use a content provider at all. It is true, because of the various helpers built around content providers, this can be an easy way to put data in a SQLite database and use it to populate UI elements like a ListView. But if any of this stuff makes what you are trying to do more difficult, then feel free to not use it and instead use a more appropriate data model for your app.___"Android could feel like it has strong opinions on how apps should be written. With its Java language APIs and fairly high-level concepts, it can look like a typical application framework that is there to say how applications should be doing their work. But for the most part, it is not."

(Trending on HN https://news.ycombinator.com/item?id=11703545)

posted image

2016-05-16 01:37:37 (0 comments; 0 reshares; 4 +1s; )Open 

much web so mobile

much web so mobile___

2016-05-16 01:33:56 (7 comments; 2 reshares; 5 +1s; )Open 

If i install the Google IO app on iPhone, what happens next?

If i install the Google IO app on iPhone, what happens next?___

posted image

2016-05-15 22:20:11 (7 comments; 0 reshares; 12 +1s; )Open 

#stupidhackathon entrant made a "picnic" app. It lets you go on a random picnic by ordering random food delivery and sending you there by Uber. Then he live-dogfooded his journey ...

https://twitter.com/chromakode/status/731942777131425792

#stupidhackathon entrant made a "picnic" app. It lets you go on a random picnic by ordering random food delivery and sending you there by Uber. Then he live-dogfooded his journey ...

https://twitter.com/chromakode/status/731942777131425792___

posted image

2016-05-14 17:17:43 (2 comments; 4 reshares; 5 +1s; )Open 

Unintentional anagram discovery service http://anagramatron.tumblr.com/

Unintentional anagram discovery service http://anagramatron.tumblr.com/___

Buttons

A special service of CircleCount.com is the following button.

The button shows the number of followers you have directly on a small button. You can add this button to your website, like the +1-Button of Google or the Like-Button of Facebook.






You can add this button directly in your website. For more information about the CircleCount Buttons and the description how to add them to another page click here.

Michael MahemoffTwitterLinkedInCircloscope