Blog updates

Sunday, 11 November 2012

CMarks updated - 2012.11.11

Time for an update.

First, a reason for the recent lack of updates. I spent a good few weeks (remember, I only have a couple of hours free time per week anyway) trying to add a new library for communicating with Google. The new library claimed huge performance benefits which I hoped could make each sync even faster. But it took a while to plumb in and I had to contribute several patches to it before it was useable. And then I compared the results with the previous library. No difference - in fact the new one was slightly slower on average. Right click, undo. Grrr.

Back to the updates

  1. I've upgrade the chrome protocols to the latest versions used in the chrome beta version 24. This brings in a couple of new fields which Chrome is starting to use. Note that there are many changes to the sync service coming over the next few months. Many of these rely on changes on the sync servers themselves - so until Google flick the switch, I can't test or prepare for many of these. So if something suddenly stops working, please mail me so I can investigate!
  2. There were a few bugs that were happening under some scenarios when integrating or backing up bookmarks. To be honest, the app had already failed for some reason, but it couldn't return the error message of the failure back to the user.
  3. I completely missed the fact that any Mobile bookmarks (or Synced bookmarks) weren't being integrated into the Stock Browser, Dolphin or any backups. Oops! Thanks to Pierre for nudging me.
  4. If you cancelled the decryption popup, the app would have checked for duplicated bookmarks and since everything still has the name "encrypted", the app would have mentioned you had duplciates. Until the bookmarks are decrypted, the check for duplicates is now deferred.
  5. If there were any problems during the auto-sync feature, the notification shown on your device might have had black text on a black background. Ooops!
  6. Some extra fields added to the Info & Statistics popup, but they might only appear depending on the data Google returns, which might depend on some new features they haven't turned on yet.
  7. A sprinkling of the usual bug fixes - quite a few within the decryption dialog.
Enjoy - see you laters!

Sunday, 16 September 2012

CMarks Update - 2012.09.16

Time for a quick update.

  1. Added the ability to "hide" any of the Root folders i.e. Search Engines, Synced Bookmarks, etc. Also added a new option in the Settings, Application Defaults to allow you to manage this list. Only for the Full app, though!
  2. Fixed a couple of crashes happening during the local sync on 2.x devices when syncing to the special folder in Chrome. 
  3. Some performance improvements when navigating to the root folder.
Enjoy!

Sunday, 9 September 2012

Cmarks Update - 2012.09.09

A quick CMarks update. This is for the Full app only.

  1. CMarks can now integrate your Chrome bookmarks into Dolphin using the same ordering you've specified in CMarks. Some caveats - though:
    • Dolphin always shows Folders alphabetically and at the top of a list. I can't change the ordering or placement of Folders.
    • Dolphin always removes any bookmark being inserted that has the same url as any existing bookmark. So if Dolphin already has www.google.com as a bookmark and your Chrome bookmarks also have it, then you won't see it in the bookmarks integrated as Dolphin will simply remove it.
  2. Performance improvements integrating bookmarks to Dolphin. Since Dolphin doesn't accept icons during the integration, I've disabled the code from retrieving them from the database which does make a difference.
  3. Fixed a crash from some devices when clicking on the "About" link the Dolphin CMarks Add-On screen.
  4. Some improvements to the "Sync" widget. Widgets require a lot more effort to make them look pretty and I never had the opportunity to make the widget look really good before. So some changes this release to make it better. Annoyingly the stock homescreen widgets have differing layouts on GB, HC, ICS and JB. So I've had to specify a widget layout for each release of Android otherwise it all goes south. At the very least, it no longer has that boring phat white background.
That's it for now - enjoy!

Sunday, 2 September 2012

2012.09.02 - CMarks update

Time for another update!
  1. Users of the Full app can now integrate their bookmarks into Dolphin browser or Dolphin Beta. This has only been possible due to the recently introduced Garage API for Dolphin - until about three months ago, this was still only possible for apps created and owned by Dolphin. Some points to bear in mind, though:
    • This is currently only one-way. So any changes made in the integrated folders in Dolphin will be overwritten/lost when you sync. As normal, though, to create a new Chrome bookmark just "share" it into CMarks instead of your browser.
    • There are still some restrictions from Dolphin - primarily an integration can only occur from you clicking on a button or doing something inside of Dolphin. I can't start the integration from CMarks as Dolphin doesn't allow it - so no integration each time you perform a CMarks sync. It's annoying, but nothing I can do about it - direct requests to Dolphin developers, please.
    • To integrate your bookmarks, open the Add-Ons pane inside Dolphin (swipe inwards from the right hand edge or use the menus), then simply click on the CMarks Add-On and your bookmarks will be integrated there and then.
    • The access Dolphin allows is still very limited. As such, I have no way of telling apart a bookmark that CMarks has integrated or a bookmark the user has created. So to avoid me deleting *all* the user's bookmarks rather than just the integrated ones, I've chosen to integrate them into a new root folder called "CMarks". Yes, it's an extra folder to click into but it keeps your existing bookmarks safe. But if users would like an option to be able to use the Dolphin root folders ("Bookmark bar", "Other bookmarks") and accept that they will be completely emptied each time you integrate, then let me know!
  2. Prompted by another whingey comment on the Play Store, I've added a new popup to tell you if you have a significant proportion of duplicated bookmarks within the same folder. These sort of duplicates can only be caused by one of the many bugs in Chrome. Annoyingly, users who only have one copy of Chrome on their desktop machine will never see these duplicates until (a) their machine dies and they first sign into Chrome on a new machine or (b) install another Chrome client - of which CMarks is an example. So I still get people complaining that CMarks has duplicated their bookmarks when it clearly hasn't - they've been duplicated for days, weeks, months already! So a new popup might appear after a sync. You can disable it if you genuinely want to ignore it when you first see it. It might introduce a mild delay at the end of each sync, but it provides a quick warning that your Chrome browser has suddenly hit a bug.
  3. Update the Swedish translations - thanks again Kjell! Looks like Swedish is now at almost 100% translated (or it was when Kjell finished - sorry, I've added a couple more since!)
Until next time!

Sunday, 19 August 2012

CMarks Update 19.08.2012

Well, I'm still here, so I guess I'm okay to keep developing this app.

As such, some updates:
  1. Finally managed to get Themes to work 3.x and above devices. Some changes Google made with 3.x caused some issues that I hadn't managed to work around previously. With a smidge of extra effort, I've found enough workarounds to re-enable Themes for all devices now.
  2. Fixed a bug that had been annoying me - if you set the home folder to a folder that was empty, the app would give you the initial "no bookmarks were found" message. This might also have been triggered if the first folder the app opened to was empty as well.
  3. Fixed a bug with the 2.x sync to a Chrome folder if the user had more than 20 bookmarks to send to Google. Since Google only accepts data in batches of 20, there might be entries in a second batch that refer back to entries in the first batch. But the temporary ids sent with the first batch are only temporary and if they are used on the second batch, Google doesn't like it. I found a cunning way around it.
  4. Fixed another couple of bugs with the 2.x sync to a Chrome folder that were coming out with some freaky scenarios.
  5. Fixed another crash with ICS users when they first installed the app. According to android bug 35466, it looks like on ICS there is a tender spot when rendering text that has styling applied to sections of it and that section wraps around the edge of the screen. It's affecting a large number of apps out there, but it's part of the core, so we have to live with it. I've put in a fudge that should gracefully downgrade any styling that ICS dislikes.
What's next on the horizon..?

Well, Dolphin have their Garage API and I've finally managed to get a key to access it. We'll see what can be done - though it's a limited doorway between apps, so it might be a bit clunky and there's nothing I can do about that.

Also thinking about adding password syncing into the app. But there are lots of issues with a potential implementation - if anyone would like to help me thrash out some ideas of how this affects the end user, please contact me by email!

Laters.

Friday, 10 August 2012

Cmarks!

So, some big changes to the app today.

Google changed their Play Store Policies recently. One of the changes was that apps must not impersonate other apps or system apps and that users should be not jump to the wrong conclusion and assume an app is officially supported by someone else by virtue of it's name, icon or content. Well, that's what I understand from the policy documents - to someone who isn't a lawyer, they might as well say: "look, just don't do this sort of thing or something that might be a bit like that".

So, vagueness aside, Google sent me a warning saying that my app violates someone's intellectual rights. Not too hard to guess that it's Google.

I'm assuming therefore that the icon and the name as for too "Chrome"y for Google's liking and things need to change.

So "CMarks" is here now. The logo was actually one of the runner-up logos when we had the online vote that found the previous chrome-y logo.

Unfortunately, Bug G doesn't provide any communication, so I can't be sure that the logo and name were the *only* things Big G doesn't like. For all I know, they might not like the idea of something other than their approved software syncing or touching their chromesync service.

So if the app disappears in the next week, it'll be because Big G has suspended the app and my developer account. In which case, it's been a fun ride and thanks for the fish!

Otherwise, if the app is still on the Play Store this time next week, we're probably good to stay! Whcih is good, as I've tons of stuff to add to it!

Sunday, 5 August 2012

ChromeMarks update - 2012.08.05

Time for another update!

Firstly, I completed missed the fact that in the middle of June, ChromeMarks Lite reached 500,000 downloads. That's a phenomenal number and I never dreamed of getting so many downloads for a single app! Especially since that app has only been out there for less than two years. Thank you to everyone who's downloaded the app - still many more new features yet to come!

 The usual release notes are below:
  1. The FolderPicker has been completely revamped. The previous version was a custom built widget. It used a webview, so jquery and a lot of crunching via javascript to generate the content. Unfortunately that expects some quite tight coupling between the webview and my code. Looks like ICS devices seem to have some issues with this and a few users are reporting a blank white screen. The folder picker used to look like this:

    The new version now looks like this:

    The new widget no longer uses a WebView or any of the clunky javascript. Although it's still a custom built widget, it's using more of the "standard" components. Ok, it may not have as much colour to it, but it should be more compatible with all devices. It should also open quicker since it doesn't need the WebView overheads. Another bonus with the rewrite is that the folders are now shown in the same order as they are displayed in the rest of the app - so if you order by Chrome order, last modified or alphabetical - they should show the same in the FolderPicker.
  2. A short while ago, Google made some changes to the way they tag bookmarks in the chromesync service.This meant the tags I'd been using for the 2.x "copy stock bookmarks into a chrome folder" function had changed fundamentally. Previously, they'd been unique and this meant I could sync nicely between both browsers as I had a unique tag. However Google changed the value of the tag to become more of a transaction timestamp which meant that many bookmarks would now have the same tag. This really broke ChromeMarks when syncing as it kept getting the same tag back when it wasn't expecting it. Or actually, ChromeMarks didn't complain, but Google did when the changes were sent to them. And Big G's response - "Error 500".
    So some changes to ChromeMarks to change the tags being used. Unfortunately the bookmarks in the stock browser still have the non-unique tags on them which means that the next sync has to make some tough choices. You might find the first sync will generate some duplicates either in the Stock Browser and/or in the special folder in Chrome. This will be a one-off event as part of the first sync after this upgrade. After that, you can safely delete any duplicates - though obviously delete them from the Stock Browser OR from Chrome but NOT from both at the same time!
    I have already raised a Chrome bug about this. But since Google has made this change on their server and millions of people must already have the changed tags in their desktop already, it's highly unlikely that Google would ever revert it.
  3. Some of the usual bug fixes. The new auto-backup function used a piece of code that unfortunately didn't exist in the Android core on the 2.1 and some 2.2 devices. I've simply copied the code into my app and that should fix it.
That's about it for now.

First thing I've got on the list is some well overdue upgrades - sdk, compatibility library, admob, viewtitlepager. Unfortunately whenever I start making these upgrades, problems always take a while to fix...