Profile cover photo
Profile photo
CMarks. An Android app for syncing Google Chrome Bookmarks.
CMarks. An Android app for syncing Google Chrome Bookmarks.

CMarks's posts

Yup, I think that's it for CMarks.

Google are likely detecting that syncs using an api key are authorised via OAuth and since Chrome doesn't pop up any OAuth dialogs to login, they can therefore spot the difference.

If you are getting "error 500" messages, you could try and put the app back to using the Android Account for authentication and you might get some more syncs out of it. But if Google have explicitly disabled api access from any app that doesn't have "Google" in the name, then I don't think it will take long before all other methods used by CMarks are similarly detected and rejected.

Please don't ask if there is any other way - if there was, I would have coded it already and you'd be using it now!

If you have the Full app, use CMarks to manually backup your bookmarks to an html file or a pdf on Google Drive and then use either the html or your Drive account as your browser's homepage - at least then you should still see your current set of bookmarks. If your browser doesn't have that ability, I can't help there!

It was fun while it lasted, but to be honest, this day have been coming for the last year. It's been obvious Google have been making changes to stop anything that doesn't have "Google" in the name syncing - as far as I know, that's only my app.

If you purchased the app anytime after GMT Midnight 1st April 2013 then I am willing to offer a refund - email me your original order number from your purchase or the email address you used to purchase from. I can't offer refunds for any longer - I've already allowed more than the mandatory 15 minutes refund window by two weeks out of the kindness of my own pocket and Google would agree that 15 minutes is more than enough for all refunds. Please don't abuse my generosity - if you happily synced for more than a day then please wonder if you should be asking for a refund.

Thanks for all the support over the last 2 and a half years!

Some reports of users getting "error 500" when syncing. I'm looking into it now!

Post has attachment
CMarks updated 2013.04.13

Another cheeky little update to CMarks.

1. I'm presuming that so many people have suddenly registered for new API keys that Google has had to start using a new format for some of the values. This release includes a fix for the new format that you may or may not get if you register on Google's website. No change for users already registered.

2. The sync service has a curious field called "bag of chips" that basically holds a snippet of info that the sync server needs to remember stuff about the set of bookmarks you have downloaded. This snippet isn't used frequently. But it appears you can't login to chrome if you have the snippet of info. So I've added a screen into the app when you click on the login button to basically say "I've got no choice but I'll have to clear out all data before you can login."

3. Updated some of the text and messages for the new api stuff. Also made a few of the options in the main settings page flash yellow to highlight which ones you need to click on. Improved the toast messages that appear for a few seconds and give hints to be more obviously from CMarks - a few users reported they thought they were from Google's website. Also added a thick red border and the cmarks icon at the bottom of the web pages to try and separate out which bits are Google and which bits are CMarks.

As usual, might take a few hours to be available around the world.


Post has attachment
CMarks updated 2013.04.07

A new update today for CMarks.

The last release mentioned that Google will soon be removing third party access to your synced data. The main news for this release is you can now register (for free!) as a Chrome developer and gain your own personal keys for continued access to the syncing service.

The process needs to be done only once and takes less than five mins. Unfortunately none of the websites used are allowed to be controlled automatically, so CMarks can't do any of the registration for you. And also some of the websites are a bit tetchy on a mobile interface - some of you may prefer to simply do it on a desktop machine where you have a bit more freedom and screen space.

Any-whoo, the functionality is now part of the app. I don't know when Google will disable the existing third party access, so I recommend users migrate to their personal keys as soon as you get a free chance. Though you don't need to reset the app or remove any of the existing bookmark data in the app - the authentication method can happily be swapped to another authentication method at any time (but for the same account, of course!)

Some other pertinent updates:

1. Improved the reliability of the Plugin interface. On some elderly devices (2.1 most likely) the method of sending messages between apps is a bit more primitive. I've changed the messages to be a bit more compatible on all devices. If you use the Plugin, you'll need to upgrade it as well at it needs to send and receive messages in the more primitive way as well.

2. Some other fixes for users that were suffering with some HTTPS errors. This are most likely down to Google using some new certificates on their servers which can use a wildcard list of addresses. But some Android devices are old enough to not even know that sort of thing is possible, so refuse to connect. There's a new option in the settings to disable the HTTPS checks - but please don't use this setting on a public network as nefarious people could steal some of your info and your device won't tell you about it!

3. Fixed a bug with the local bookmarks syncing in the Full app. This seems to be due to another unwarranted change that Samsung have made on a couple of devices/versions of Android. On the afflicted devices, they clearly reply with invalid responses to a standard question. Bless you Samsung. I've added some additional checking to try and work around the nonsense.

As usual, the Full app might take a while to be visible in your App Stores. The Lite app will follow later, possible this time tomorrow.


Post has attachment
CMarks updated 2013.03.07

A new release of CMarks today with the following highlights:

1. The Full app now has Plugin support. This allows me to produce additional functions in separate apps instead of bloating out the main app or adding excess permissions. The first (free!) plugin allows you to backup your bookmarks to a PDF with clickable links and store them in your Google Drive account. You can therefore access your bookmarks in any browser on any device, as long as you can get to the Google Drive website.

2. Experimental support for Samsung multi-window.

3. Many, many, many smaller bugs fixed.

It's also time to get realistic as well.

In September [link 1], Google started making changes to Chromium such that all access with the syncing service is via approved api-keys. These keys are only available for Google products - no third party apps are allowed to get keys. I've been liaising with some of the developers to obtain keys, but although they are friendly and sympathetic, they are simply doing the work that someone higher up asked them to do. I can't get contact details of anyone who has the power at Google to change this. Similarly, Google won't say what time-scales they will force this access within - will it be next month or next year..? But whenever this switch is flicked, all chromium derivates such as Comodo's Dragon Browser, Yandex Browser, Stock Honeycomb Browser, Stock ICS Browser and this app will simply cease to sync.

Where do we go from here..? Well, officially, I can't get access keys so CMarks can't sync. Unofficially, there are a few hacks available, though the legality is vague! Otherwise, it's possible that each user could register for their own keys [link 2], however the route to apply is convoluted and the overwhelming majority of my users will want an app that syncs immediately, not after ten minutes of filling in data on unknown Google websites for services and features unheard of (that could be automated, but the user would have to grant my app full access to their Google account, which is a lot to ask, plus it would be fragile as it would be literally scraping the website and filling in text boxes).

So I'm still looking at the options available...I'll also keep an eye on high profile chromium derivatives such as Comodo to see what happens - if they manage to get a key then a precedent has clearly been set, though Google may still decide to give keys to only apps they choose.

In the meantime, if you are a 2.x or 3.x user and therefore have no other recourse on Android, or if you simply want the ability to choose the apps to access your synced data then may I suggest you register for the "chromium-dev" Google group [link 3] and post a message in there. I recommend saying something like "please allow the ability for end-user third party apps to register for api-keys for the chrome sync service".


Post has attachment
Beta testers wanted!

Anyone fancy helping to test the next release of CMarks..? The next release includes "*Plugins*" functionality. These are separate apps that you install that add additional stuff to CMarks. These free add-ons apps will simply add features - I'm not expecting them to be additional paid apps!

The reason for additional apps is to try and keep the main app lean and light - new functionality might require additional permissions, larger app size, etc, so splitting the new stuff out makes sense.

The first Plugin allows you to backup your folders and bookmarks into a PDF file and upload that to your Google Drive account. This PDF includes clickable links for all your bookmarks. So this means you can get full access to your bookmarks in any browser on any device as long as you can get to the Google Drive website - you don't need a PDF viewer installed as Google renders the PDF as a webpage for you! You can manually backup, or choose to backup before/after each sync.

More plugins on the horizon, I'll ask for beta testers before they are ready for release.

If you'd like to help test his new function, and have the chance to provide some serious feedback and contributions, please contact me to let me know! Please note this feature is only for the Full app - if you only use the Lite app then I'm afraid this isn't available for you.

Another small update to the Full CMarks app just now.

1. Fixed another loop where the app would request the same batch again and again and again. This one was being caused by users that had so much synced devices info that it spilled over to multiple batches. I'd only ever been able to test with one batch so this was something already on my todo list. It was tricky to reproduce - I sent enough data back to Google to make them think I had 20 different browsers open and each of them had 20 different tabs open as well. Only then could I trigger the issue and make a fix! For most users, though, Chrome doesn't send a message to say "this device is offline"  or "all these tabs have been closed" so after a year of using synced tabs, any user is likely to have hundreds/thousands of records with old data in the sync service.

2. A dumb mistake from me with the new Synced devices screen. If there was a problem starting a sync, the app wanted to tell you (i.e "Another sync is already running"), but I got my threads mixed up and you can;t issue UI messages from the wrong thread. Fixed that.

3. A bug on Android 3+ devices using the Local bookmarks syncing. Some manufacturer changes return different responses when I create the data compared to the Android standards (I'm especially think about you, Samsung). This is frustrating - especially when they change the rules about how things are meant to work and respond! An attempt was coded to try and work around it, but I hate having to hack away and produce fixes for things I can't possibly test (without buying a physical Samsung device). I'm still constantly amazed that any Samsung device and can actually turn on and make a phone call, given the huge number of unwarranted changes Samsung constantly make to the core of Android!

4. Some other smaller fixes behind the scenes.

As usual, please do let me know if there are any problems, issues, questions or comments!


Just pushed a small update for the Full CMarks app to the Play Store.

1. Fixed a bug whereby the second batch downloaded would be downloaded again and again and again and again (etc). This was a tricky one to spot - I couldn't reproduce it myself. But one of my users, Erlann, kindly got me a log file and I could see that Google was sending the data back to him in a slightly different order to me. I hacked my test server to do the same and came up with a fix for it. The fix doesn't make any difference to me - but if you were affected by this, please do let me know if it is fixed now..? Or not..?

2. Fixed a rare crash when a sync started but the device couldn't contact Google's sync servers. This used to be reported nicely in the previous releases, but I mis-shuffled some code for the last one and that made this start to crash instead. Now fixed - sorry!

As usual, will take a couple of hours to become available worldwide. Please do let me know of any more issues!


Post has attachment
New Release of CMarks (2013.01.10) has just been released to the Play Store. It might take a few hours to appear all over the world.

As usual, the Lite app will be updated on the Play Store in a few more hours' time.

1. Synced Tabs support! You can now view the currently open tabs on any other Chrome browser, once enabled in Chrome. You can also optionally see the full history of pages in any of those tabs (this is not possible within Chrome.) To activate this feature, simply perform another sync and the "Synced Devices" folder will appear in the root. You can also see visibility of "pinned" tabs and more details on the last modified times for each tab. Only for the Full app.

2. NEW Open all bookmarks in a folder by long clicking on the folder and choose the option. NOTE: This is only available on devices using Android 3.0 and above - sorry, nothing I can do about that! You also need a default browser set on your device otherwise Android will ask what browser to use for each bookmark. Some browsers can't accept multiple webpage  requests - i.e. Boat and Dolphin will only open the last bookmark - Stock Browser and Chrome do work okay, though. Only for the Full app.

3. MAINT The 'Synced devices' or 'Mobile bookmarks' is named by Google depending on the date you first connected Chrome to your account. CMarks will fix the name to 'Mobile Bookmarks' to be more accurate for all people. Will only take effect from the very first sync, though.

4. MAINT Added a link to the CMarks G+ page in the menu\Contact Developer option.

5. MAINT A HUGE number of changes to the core of the sync engine - please do contact me if you notice anything that's no longer the same as it used to be.

6. MAINT Upgraded Chrome protocols to the same as Chrome 26 (including a curiously named field called "bag of chips"..!)

7. MAINT Fixed some issues where dialogs shown with the "Light" themes had black text on black backgrounds. Please do let me know if any dialogs have white on white or black on black.

8. BUGFIX Fixed some issues decrypting data if it's already encrypted but your passphrase has changed, or you just changed from Google password to passphrase encryption.

9. BUGFIX Many other small bugs fixed.

That's it for now. Please do let me know if any problems!

Post has attachment
Sneak preview from the next release of CMarks. New functionality will include Synced Tabs. See the attached screenshot!

Includes some benefits over the existing functionality in Chrome:

1. You can see the type of device (windows, mac, linux, phone, tablet, chromebook, etc) the tabs are synced on.

2. You can optionally see all the history from an individual tab - not just the currently open page.

3. You can change the maximum age of visible tabs - Chrome won't show any tabs untouched for over 14 days but CMarks allows you to change that to other ranges.
Wait while more posts are being loaded