Cover photo
Quint Stoffers
Works at Quantimodo
Attended Utrecht University
Lives in Soest, The Netherlands
684 followers|193,205 views


Quint Stoffers

Shared publicly  - 
AppTracker is now available on Google Play

AppTracker lets you track for how long and how often you use apps on your phone. It uses an accessibility service for accurate tracking and minimal battery drain. It's very likely you'll simply forget it's running until you want to look at the gathered statistics.

AppTracker can also optionally integrate with QuantiModo , which is a service that's able to take the data AppTracker generates to correlate it with other variables you might track, such as calories burned from RunKeeper, or the number of mouseclicks from WhatPulse. QuantiModo is still in early stages of development, but I'm sure some of you will find it very useful.

We've been testing AppTracker for a while now, so I'm not expecting any major issues. I hope some of you'll find it useful!
AppTracker helps you understand how you use your apps by letting you know f...
Add a comment...

Quint Stoffers

Shared publicly  - 
Add a comment...

Quint Stoffers

Shared publicly  - 
Being one of Android's most iconic UI elements, the overflow has lead to quite some heated discussions. Recently an icon with round dots has appeared on Google Now and some other apps. While this is not yet to be seen as the standard overflow icon, we got a couple of requests for the alternative.

Here's a free, rounded overflow icon in 5 sizes and all 14 colors. (updated)

 If you don't have the full Android Icon Developer Set yet, get it from
Add a comment...

Quint Stoffers

Shared publicly  - 
I remained silent about the whole Focal relicensing troubles for now. There was a lot of drama between the app being GPL, and the fact Cyanogen Inc wanted to use it, which drove some frustration between me, some CM contributors, and CM leaders. As a result, to avoid any problem, Focal has been removed from CyanogenMod. I think you deserve explanations and “behind the scenes” view on how all of this happened, and to know it’s not just a last-minute decision or ragequit.

This is the true, fully-featured story of the “Focal drama”. It's not a rant about how Cyanogen Inc is bad or anything (and it can be a good thing, with a few conditions, see at the end of the post), but just an insight on how this all happened, and how some people were and are feeling. 

A few months ago, I decided to work on an app to replace AOSP’s Camera app after +Steve Kondik  expressed concerns about the camera experience on CyanogenMod in a G+ post. I decided to take the challenge, and build up a camera app that would be up with users’ expectations: accessible and innovative UI, but fully-featured.
You all know how that worked out - the app has been out for some time now. I’ve been keeping the “internal” CM team (read: the CyanogenMod Dev private G+ group) tuned with my progress, releasing them mockups, screenshots and videos of the progress. Luckily, nobody ever leaked what it was, even with the big storm we started with the Nemesis trailer.

A few days before we started organizing Focal’s launch, I was approached by +Koushik Dutta  and +Steve Kondik . They wanted to talk to me about CyanogenMod’s future developments, that sounded cool. Koush told me in a video chat Cyanogen’s plans since he left Samsung: they found investors, and they’re ready to push forward Cyanogen Inc, a company selling services for CyanogenMod. At first, that sounded amazing, getting a few bucks for working on something I’ve been doing for free for some time. That would allow the student I am to get some stuff and get a kickstart for my future life. That would have given me the chance to spend more time on CM, as I wouldn't need to work elsewhere. Now, I didn’t have much information about what were Cyanogen Inc plans to make money, but I expected it to be through some kind of services - koush told me about CMID, which later became CMAccount, or other premium things like a one-click installer, or even a CMPhone. That sounded like a nice addition to CyanogenMod, leaving the community intact, and adding more value to the software distribution.
I had a similar chat with Steve, where he explained me some of the other aspects of Cyanogen Inc, his philosophy about it, etc. Okay, that sounds like a good plan, get me involved and enhance the open distribution I know and love. I have a few emails back and forth between Steve, Koush and me, talking about what I could work on, what I could enhance on Focal, etc. They’re telling me they’re looking into contracts, and I wait.

That’s when the “drama” started.

I got a Hangouts chat from Koush, saying that Focal would need to be relicensed because GPL isn’t ideal -- wait what, not ideal for an Open Source project?

“The issue is that we need to be able to relicense it”
“It’ll be open as GPL, but CM can do what they want with it.”

Yes, Cyanogen Inc. will need to do changes in CyanogenMod’s source code - because here’s another way they will finance the project: customization for their customers (e.g. carriers). This will imply the work done by the community will be sold to a third party by Cyanogen Inc, and that they have to do changes that they cannot put online publicly. A future conversation with Steve Kondik will reveal that they might need to put hardware-specific enhancement for some camera devices, and that has to be hacked in the Camera app code. Putting these changes inside Camera apps instead of Hardware Abstraction Layers (HAL) could break other apps, which ironically kind of go against the goal of CTS (because then, only the “official” camera app will have those enhancements). Of course, those hardware enhancements are trade secrets, so they cannot be published back to CyanogenMod’s public repositories...

So this is where I started to feel screwed. I didn’t think much further, but I felt like I had no other choice but comply with Cyanogen’s relicensing, and allow them to do whatever they want with my code, and sell it customized to their vendors. They used the Contributor License Agreement as an argument, saying that basically they could do anything with my code since I submitted it.

At the same time, the “” domain was discovered, and concerns rised about what the hell it was. People such as pulser_g2 started to find connections between, Kirt McMaster, Steve Kondik, Koushik Dutta, and all these people working at a “secret company” in a “secret location”. From ways I cannot even explain, he was able to come up with everything Koush and Steve told me, how they’d make money, and what are their future plans. Since he already knew everything, I told him about what was going on with Focal licensing, and he came up with the fact that this wasn’t legally right: the software is licensed as GPL, the repository on CyanogenMod’s github is forked from my GitHub, so it didn’t go through the Contributor License Agreement (which only applies to Gerrit submissions), and the Berne convention can prove through the commits history that I did fully write the app, and not Cyanogen Inc. - and even if the CLA would apply, it only allows them to sublicense the software, not relicense or dual-license it without my permission.

I didn’t want to be a jerk on that licensing story, and went ahead to resolve the issue directly in private with Steve. At the same time, other people such as Andrew Dodd (Entropy512) beginned to hear echoes about something was going on with Cyanogen, and heard about the GPL licensing issues around the time Land of Droid revealed the connections. He got really upset about that, getting only silence or vague answers from CM leads, turning around sentences.
That’s where they started lying to the community, denying they had something to do with, denying there was a commercialization of CyanogenMod going on. When people said “Why would Focal get relicensed?” they would just say “No, it’s not relicensed. It will stay GPL.” - yes, that’s where “relicense” became “dual-license”, where the app would remain GPL publicly, but still allow Cyanogen Inc to do what they want with it. But they didn't mention that publicly.

pulser_g2 raised some points on an XDA post that became quite famous, quoted by some news websites, and raised to the attention of some CM leads.
The official answer was: “Don’t interfere, don’t reply, let it go”

So, they didn’t confirm or infirm that CyanogenMod was or was not going commercial. If it wasn’t going commercial, they would have denied it. But here, they ask to “let it go”. Why not tell the truth? For them, it was better to just sweep it under the rug. But who was right in the end?

At that point in time, I still had no news about the contracts I was meant to receive weeks ago for working with Cyanogen Inc on Focal. I pinged ciwrl, who told me to check with koush, who told me to check with Steve, who didn’t reply.

At that time, they also started scrapping features from CyanogenMod. Device’s “Advanced settings” disappeared, without getting a proper replacement first. Some features aren't considered as useful enough, and didn’t make it into the new CMHW HAL. Even if users want something, they won’t get it if it’s not useful enough. Save to external SD disappeared as well from the AOSP Camera app, because it breaks Google’s CTS. Root access is planned to be COMPLETELY removed by default, and to be downloaded in a separate package. Users don’t use root anyway, they say. All of this because of a future CyanogenMod Phone, which has to pass CTS to get Google Apps officially. Want some exotic features? Too bad. You won’t get them if Google don’t. Wasn’t that the point of CyanogenMod originally? Derp.

That’s when my concerns started to raise about the community contributions. People such as +Nebojša Cvetković  contributed a lot of features to CyanogenMod’s launcher “Trebuchet”, and felt bad about not getting any reward for his work, when Cyanogen Inc. would make money out of it. Same concerns were raised by other maintainers and developers who contribute, or used to contribute to CyanogenMod. It was the last bit required for multiple people to leave the CyanogenMod development community, or for some users to simply stop using CyanogenMod. They didn’t know exactly what Cyanogen Inc was up to, but since the leaders would just lie to them to hide the truth, they felt let down. And it was clear from my chats with Steve that they had no ideas or plans, besides contracting everyone, to reward contributors. But they cannot just contract everyone, like nebkat as he’s not old enough yet to have a contract. Some other people just don’t want to be contracted, but still want to get a reward. It’s only recently that I told Steve that people would be totally happy with some perks (computer stuff, t-shirts, usb drives, devices for big contributors, etc.), and it seems like he didn’t think about that at first.

This continued for some time, until now. Cyanogen Inc is now public, and they revealed (part of) their plans for the near future. And a sentence struck me on most news sites that relayed the news: they talk about “Cyanogen’s new Camera app” -- what WHAT? So it’s Cyanogen’s camera app now? It not a CONTRIBUTION anymore?!  - They claim it's their app, and I still had no news about the whole licensing thing, even if I had the chance to raise the point a few times.
This was too much this time - I pulled the alarm. I first contacted +Abhisek Devkota  on why it was phrased this way, to be welcomed with a “You submitted it…” … Uhm, no, but he wasn’t going to argue with me, and told me to see that with Steve, which I did. After some chat, explaining how he could reward nebkat and other contributors, he told me that he was still waiting on me to “list my pricing, features and milestones for Focal” -- which I did, back on July 23rd. I never had any answer, seemingly because the “Focal drama started” and he got frustrated. From there, it seemed like Steve just wanted to stop dealing with it because “this is too much drama”. The exact drama part that bothers him? Well, some contributors weren’t happy about what Cyanogen Inc is. +Andrew Dodd really insisted and wanted to have explanations on WHY Focal would need to be relicensed, and why all this secrecy, without any real answer ever. 

And how does Steve deals with these kind of reactions now? Easy answer:
“Oh god please tell me the story. grabs popcorn

Well, here’s your story. And here’s how they treat huge contributors like Andrew, who aren’t big enough and don’t open their mouth with the right people. The most ironical thing? If they want to dual-license, it is to make non-open changes to the apps. So, we’ll need CyanogenMod for the CyanogenMod Phone, because the code shipping on the device won’t match the public code.

Steve’s argument to avoid rewarding people, is that people wants to be “retroactively paid” - but he doesn’t seem to understand that people contributed when CyanogenMod was still a project all about open source, that wasn’t removing features from the ROM, and that had no commercial intentions. Nebkat contributed a lot of stuff in the Launcher, which is a central component of CyanogenMod today. But he did it a few months ago, “before” Cyanogen Inc, so he doesn’t deserve anything. But Cyanogen Inc can sell it to his customers.
Entropy512 wanted to clarify that point for his situation, which is true for many other contributors: “Some people like myself contribute to the project to keep our minds sharp and it's rewarding in and of itself.  I make more than enough money in my day job.  If someone is planning on creating a closed source fork, which is the only thing that dual licensing enables, it is no longer rewarding.”

Now, don't get me wrong. Cyanogen Inc is a huge milestone for CyanogenMod, and I can only applaud Steve for the initiative and being able to get there. There are not only dark points with the company, far from that. There’s a big bright side: CyanogenMod will become more stable, and will eventually get more features (even if they’re not going to do anything against CTS). Device support might get enhanced, since they’re paid to work on it now (even if issues existing for a LONG time aren’t fixed). And users maybe will get official support.

But the community can feel let down at some point. People from external ROMs would have loved to contribute back to CM at some point. However when Cyanogen’s leaders refers to Paranoid Android or AOKP, they call it “that other ROM”. Steve, always saying “Go ahead and fork”, isn’t actually taking seriously contributions from other developers. And since external contributors know their contributions are going to be ignored, they just don’t submit anything.
I could go on and on with many other things, how the code review is done (or rather, not done), how submissions are just -2’d without explanations, how they criticize XDA users (yes, where ¾ of their user base come from), how they complain people don’t contribute, when they DID but the patch was ignored because the maintainer didn’t want it at that time, how unstable devices are tagged as RC/stable (without asking their maintainers ; Netflix won’t run on a “stable” build of CM for exynos devices), etc. But I’m not here for that.

At this point, on my end the issue is solved, Focal is pulled from CyanogenMod. It wasn't a last minute decision, it wasn't just because I discovered it just now. It's something that has been running for around two months, and the solution was only found yesterday after a long discussion, and because it had to be stopped quickly.
I will keep on improving the app, fixing bugs, and make it better. If it’s not in CyanogenMod, then it will find room in another ROM. The app is GPL, and I will put it up on the Play Store at some point.
I have plans to raise the awareness of the importance of Open Source, and how GPL doesn't prevent any paid work, and that that there are easy ways to keep the community happy with such a situation.
And at the same time, I wish the best to Cyanogen Inc.

Keep in mind: CyanogenMod wouldn’t be what it is today without its contributors. If you’re able to run CyanogenMod on your device today, it might not be only thanks to Steve, Koushik or Ricardo. There are hundreds of people behind them who pushed many patches, and enabled many devices as a hobby. Have you ever heard of them?
Terry Poulin's profile photoQuint Stoffers's profile photoFrank Earl's profile photo
That was my take, Quint.  I'd have an issue with what CM did there- there's NO reason why they're having issues with GPL (Hint: What do you think the core of stuff like Tizen's pure Linux, not the Android/Linux hybrid.  Verizon's still shipping Actiontec routers with GPLed code (i.e. Linux, Busybox, etc...).  They would RATHER that it not be GPLed- but they have no "issues" with it.)  Want my stuff, you'll get it under MY license.  Sometimes that's GPL.  Sometimes that's LGPL.  Sometimes it's BSD or MIT/X11.  Depends on the intent of the code and the act of licensing.
Add a comment...

Quint Stoffers

Shared publicly  - 
As some of you will hopefully remember, a while back I asked your opinions on open soucing DataSync. Today, I'm happy to announce that I plan to do just that in the near future. I feel that DataSync has more to offer, and I hope the open source community can help me with that. Since this will be my first experience with "managing" an open source project all help is greatly appreciated, hence this post.

I'm not entirely sure what to do with the current apps on the Play store. I'd like to keep the beta's package name, so that future updates can be made available there. I suppose unpublishing DataSync and DataSync+ would be best, so there won't be any confusion. The current beta would then be renamed to "DataSync", and all is well. As someone who has little experience with open source projects, I can use any help I can get. I do plan on using a licence that won't allow closed source or commercial copies, so all efforts will hopefully benefit the community.

You might be wondering, why open source it now? Well, a couple of weeks back I was contacted by the team behind Quantimodo, and I've been actively working with them since. I'll make sure to post about the project in the future, so keep an eye out if you're interested!

I'll write a more detailed post later. For now I'd like to hear your opinions and ideas in the comments, people who'd like to personally assist me are free to email me!

Best regards,
Jarom Leneham's profile photoQuint Stoffers's profile photoFrank Earl's profile photo
As for reimplementing local backups- since it'll be FOSS, someone else could help, etc.  ;-D   As long as the contribution was clean, it'd make sense for it to be added back.  You just don't have to do it with what you're doing.
Add a comment...

Quint Stoffers

Shared publicly  - 
I just updated DataSync Beta on the Play store, so you should all be able to download it soon!

Release 4.0 brings a brand new syncing algorithm that only syncs an app's changedfiles. It's faster, much more efficient and overall a whole lot better than the previous solution. The new algorithm also brings two-way syncing to the free version of DataSync to prevent possible confusion. DataSync will alert you in case of a conflict, so you still have full control of your data. File warnings are still in, and show a worst case size. Thanks to on the fly compression actual data usage is often much lower.

Existing backups aren't compatible, so make sure you re-sync important applications if you use clouds. The settings menu has a new "clean clouds" entry to get rid of old backups.

The new algorithm also allows for some neat new features like incremental local backups and per-app file management, both of which will be implemented in future releases.

EDIT: Some have emailed me regarding "useless" files being synced, so I thought I'd clarify a couple of things regarding the new algorithm and how it differs from the previous solution.

Previously, DataSync would check if an apps data has changed. If that was the case it would create an archive containing all appdata and sync that. That's horribly inefficient, and wasn't working for some games that stored progress and game data in the same location.

The new algorithm checks each file individually, and compares it to what files are stored on the other device or the cloud. When a file is out of sync, only that file is synced and it's timestamp will be copied over. This approach has a couple of advantages:
- Timestamps are equal across all devices, allowing cross-cloud/device sync
- File info can be stored in the cloud
- Syncs are faster and consume less data
- No need to cache a large archive before syncing

The initial sync will sync all data to create a mirror on the other device or cloud. In the future only modified files will be synced, so there's no need to worry. I can (and already do) filter files by extension, so feel free to email when you spot extensions that can be filtered!

Also new is Drive integration, including automatic list synchronisation. Drive sync is currently limited to apps, something that'll change in the future.

Notable other changes:
+ Various UI improvements for large devices
! Fixed bug causing apps to uninstall
+ Faster realtime sync
+ Added time-based scheduled syncs
+ Improved Box auth

Alpha testers here on G+ have been great (thanks everyone!), so I expect this release to be quite stable. As usual, contact me if you spot a bug, and make sure you send those crash reports! 
** IMPORTANT ** ROOT is REQUIREDI encourage anyone new to DataSync to read ...
Pierre-Luc Paour's profile photoQuint Stoffers's profile photoDan Rozwood's profile photo
For sure!  I know I am interested in it.  I use TI and like what it can do, but to sync a game across my devices is almost impossible with TI - without a lot of work.  Datasync would let me do that quite easily, allowing TI to do it's thing, while this does device sync!
Add a comment...

Quint Stoffers

Shared publicly  - 
Another alpha release for you to play with. Most bugs should be gone now, and the new syncing algorithm is working great. Socket syncing is implemented as well, so you could say it's feature complete again!

A changelog since the last release:
 - Implemented socket syncing (without compression for now)
 - Revamped APK syncing (no caching on sending device)
 - Fixed expandable notification buttons
 - Numerous bugfixes related to timestamps and file permissions
 - Fixed issues with Angry Birds and possibly others

Cloud syncing should be very stable, and it seems socket syncing is performing just as well. No automatic syncing via Drive yet, but other clouds should work just fine. Again, if you spot a bug, no matter how insignificant, post it here or email me a bugreport via DataSync.

The APK can be found here (again, a link to count hits):
Shitiz Garg's profile photoDon Wellmeier's profile photoMarkus Birth (mbirth)'s profile photoQuint Stoffers's profile photo
I'd rather not go into detail, but don't worry. Nothing has been abandoned.
Add a comment...
Have him in circles
684 people
Vitaliy “Lokicoon” Pirogov's profile photo
silvia andreoangelina's profile photo
‫حواء أدم‬‎'s profile photo
Athaclena Uthacalthing's profile photo
Suzie BM's profile photo
Aileen Oosterling's profile photo
Mitchell Newman's profile photo
yardfon sunantha's profile photo
Gloria Sanchez's profile photo

Quint Stoffers

Shared publicly  - 
Can you reproduce this one? If so, could you send a bugreport after it happens?
So... Was syncing some files between my phone and my tablet using " individual". The files transfer, but there is no indication that the files are transferring. Bug? I sent files to my ftp server and I get the speed graph, so I think it is just when I go device to device.
Dan Rozwood's profile photoSTEPHENtheFirst Downey's profile photo
Yeah, I think I got that !
Add a comment...

Quint Stoffers

Shared publicly  - 
Wouter Halswijk's profile photo
Yep, the widget is clearly an example of how not to collect rating statistics. Very confusing and mixed purpose.
Add a comment...

Quint Stoffers

Shared publicly  - 
Hello everyone,

I just published version of DataSync which among other things fixes the settings activity on Android 4.4. The update should be available for everyone in an hour or so.

I'd also like to let everyone know I took the beta label off DataSync Beta, and unpublished the original DataSync. Those who've downloaded the original in the past can still download and use it, but consider it unsupported.

In light of the foregoing I created the DataSync G+ community, where you'll be able to get support and answers to any questions you may have. The community will also let you get access to the future beta releases of DataSync, which will eventually include the file syncing changes I mentioned a while back, and a nice new UI by +Pol Kuijken.
The community can be found here:

From now on I'll be using my personal account for stuff not directly related to DataSync, so those who have me in their circles purely to stay updated on DataSync might want to move over to the new community.
** IMPORTANT ** ROOT is REQUIREDDataSync lets you share application data wi...
Paul Brannan's profile photoQuint Stoffers's profile photoCharles Sanderson's profile photo
Thanks. I just found it.
Add a comment...

Quint Stoffers

Shared publicly  - 
Version 4.0.3 of DataSync Beta should be available for download soon.
+ Syncs can be stopped
+ Improved Bluetooth/WiFi scanning
+ More reliable bluetooth/Android Beam implementation
+ Added settings to enable pure background sync
! Improved the way real-time syncs handle updated data
! Fixed force up/download behaviour

I rewrote DataSync's NFC/Android Beam implementation, it should be much more reliable and near instant when bluetooth is enabled on both devices. If you haven't used it yet I recommend you try it out!
Oliver “Ollie” Dickinson's profile photoWalter Andrade's profile photoRicardo Mota's profile photoQuint Stoffers's profile photo
+Ricardo Mota. It's not meant to sync stuff on the external card, since apps I'm targeting are unlikely to write there. For file syncing I recommend an app like FolderSync that's made for the job.

Files on Drive are in a so called appdata directory, which is hidden. If you want to physically look at the stuff DataSync does you can use any of the other clouds.

Nice to hear you're checking out QuantiModo. We're working hard on an MVP, I'll definitely post with some more info once that's out.
Add a comment...

Quint Stoffers

Shared publicly  - 
It's been a while since the last update, but I'm confident this build is worthy of the title release canidate! Below is a changelog since the last alpha, and a little todo list for the next beta release. If I forgot to put something on the list let me know.

As usual, feel free to let me know if anything isn't working or could be improved!

 - Improved realtime syncing, faster restarts and numerous fixes
 - Google Drive sync without caching (see note)
 - Changelog dialog on updates, can be turned off
 - Cleaned welcome dialog
 - "Simultaneous transfers"  now controls individual file transfers, not app syncs. I'm still tweaking it, but Drive might refuse your requests when set too high, causing 10s+ delays.

 - Offer solutions in case sanity checks fail
 - Fix list adding/editing dialogs, saving is somewhat unpredictable
 - Redo list syncing + show syncing progress in list overview
 - Properly test FTP syncing
 - "Clean clouds" option in settings

Google drive related note:
Although  my syncing logic is multithreaded, Google Drive simply won't sync in parallel. I have a question posted on StackOverflow, but no responses yet. Until this is fixed Google Drive will be slower than other clouds, I'm  afraid there's little I can do about that.
Jack Chu's profile photoMichael Brinkley's profile photoQuint Stoffers's profile photojohn garrett's profile photo
awesome app
Add a comment...
Have him in circles
684 people
Vitaliy “Lokicoon” Pirogov's profile photo
silvia andreoangelina's profile photo
‫حواء أدم‬‎'s profile photo
Athaclena Uthacalthing's profile photo
Suzie BM's profile photo
Aileen Oosterling's profile photo
Mitchell Newman's profile photo
yardfon sunantha's profile photo
Gloria Sanchez's profile photo
  • Utrecht University
    Computer Science, 2012 - 2013
  • TU Delft
    Mechanical Engineering, 2011 - 2012
  • Het Baarnsch Lyceum
    NG + NLT, 2011
  • De Insingerschool
Basic Information
In a relationship
Other names
Quint, Quint, or Quint
Tagline goes here, some day.
Developer (Android, Java, .NET, Windows Store)
  • Quantimodo
    Developer, present
  • bunq
    Developer, present
  • Swydo
    Developer, present
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Soest, The Netherlands
Hilversum, The Netherlands
Contributor to