Category Archives: Technology

Posts related to technology in general.

Kerika isn’t written in Indonesian. (And Google Docs isn’t in Vietnamese either…)

An odd problem that we cannot quite figure out: every once in a while Google’s Chrome browser will tell the user that the application is written in Indonesian, and then offer to do a translation.

We cannot figure out what’s going on with this: all of the code is written in Javascript and Scalable Vector Graphics (SVG), so why would Chrome consider it to be an Indonesian page?

The problem must lie with Google Chrome itself: now, we are noticing that it will sometimes report that Google Docs is written in Vietnamese, as this screenshot shows!

Our latest version: better integration with Google, and more UI coolness

You will have a new version of Kerika tomorrow, with a bunch of great new features. One big improvement is in Kerika’s integration with Google: we are upgrading to Google’s newer, better authentication system, so you will be asked to sign-in through Google again as if you were a brand new user — but don’t worry, none of your old projects or data are affected in any way by this change! The new sign-in process consolidates in one place all the permissions that Kerika requests with respect to your Google account; they include:

  • Access to your basic information: name, email address and photograph, which we use to make sure your Kerika account is set up properly. Now, the photo you use on Google will be used automatically for your Kerika projects as well.
  • Access to your Google Docs account, which, as before, we use to store the files you upload to your Kerika projects. Now, when you upload files to a Kerika project, they will be stored in the Google Docs account of the Account Owner. This makes it easier for Account Owners to manage all the content assets related to their projects.
  • Access to your contacts: this will be used in our next release (look for it in a couple of weeks) which will have auto-completion of names and email addresses when you invite people to join your projects.

There’s a long list of benefits that come with the new version of Kerika:

  1. When you add a URL to a Kerika page, that web site will show up as an embedded page within your Kerika page (i.e. as an IFRAME): you can customize the size and the display, so that only the content you are interested in is shown. Which means that Kerika lets you literally cut-and-paste the Internet.
  2. When you add Web content to Kerika pages, the system automatically gets the title of the Web content, so you don’t have to enter that by hand. And, of course, you can always rename it if you like.
  3. When you upload files to Kerika projects, they will now be stored in sub-folders within your Google Docs that are named for the Kerika projects. This means your Google Docs account doesn’t get cluttered with files in the same way as it did before.
  4. If you use Google Drive, you will find that your Kerika documents are available across all your computers. Kerika is well integrated with Google Drive.
  5. When someone joins a project that already has a bunch of Google Docs, they won’t get a bunch of emails any more from Google letting them know that they have access to each of these files. (These emails were kind of annoying 😉
  6. If someone is removed from a project team, they will no longer have access to the Google Docs that were part of that project.
  7. On Firefox, Chrome and Safari (but not IE9), you will see thumbnails of the documents on your Kerika projects, which makes it easier for you to quickly distinguish between several files.
  8. When you make a project open to the public, its documents are available only to people who know the URL of the documents. We feel this is a better approach to privacy when you considering making a project open to the public.
  9. When you are uploading a large file to your Kerika project, you don’t have to wait for the uploading to finish in order to do other work inside Kerika.
  10. When you copy a project, or use someone’s public project as a template, you will get your own copies of all the documents in that project.
  11. Switching between different Kerika pages is now much faster since images are now retrieved from your browser cache instead of from the server.
  12. A long-awaited bug fix: when you have images (pictures) on your Kerika pages, they will be shown properly on Internet Explorer 9 and Safari. (We had to fix a problem with the way these browsers dealt with Google Docs.)
  13. Text blocks can now have a border color as well.
  14. The emails sent when you invite people have been improved.
  15. And, finally, the thumbnails of Kerika pages — which you can post to Facebook, LinkedIn, Google+, etc. — are much improved.

Thanks for your continued support of Kerika, and for providing feedback on how we can improve the product. There’s more good stuff coming your way, so keep collaborating…

Running Java on the Lion operating system

Having gotten a new Mac laptop that came packaged with Apple’s newer Lion operating system, and having successfully moved all files from an older laptop running Snow Leopard, we learned the hard way that Lion doesn’t come with Java bundled in by default!

The problem surfaced when we tried to run the Kerika server software on our new laptop: since we wrote all of the backend/server code in Java, we can run the entire Kerika software on pretty much any computer. So, with our new laptop all set up, apparently configured with everything we need once we got our SuperDuper backup restored, we tried to build the Kerika source code using Maven.

That’s when things went in a surprising direction: running “mvn -install” generated error messages about Java not being found. We followed the symbolic links for the Java executables, which had been copied over to the new laptop along with everything else from the SuperDuper backup, and found that there was nothing there: no Java to be found on the machine.

OK, so we need to get Java installed. No problem, we will just run the Mac Software Update: maybe something got missed along the way.

No good: Mac’s Software Update didn’t pull in Java.

Finally, we talked to Apple and found out that they deliberately don’t include Java (or Flash) with Lion. The ostensible reason is that Java programs (and Flash programs) take up too much battery power. This argument sounds rather dubious: Flash’s excessive power consumption is well known, but Java…?

We think a truer explanation might be that Apple views Java programs as a long-term competitive threat to their App Store, and are therefore starting to subtly discourage its use without actually banning it – which would create a huge stink.

If this sounds like Microsoft’s deliberately crippled support of Java on Windows XP, Apple should perhaps pause and consider how well that strategy worked out for Microsoft…

Meanwhile, here’s the download link to get Java for Lion!

A new version, with more goodies..

We have released yet another version of Kerika, packed with useful features and bug fixes that will improve your experience with the product.

A lot of the improvements we made are “under-the-hood”, but here are a few changes that you can benefit from directly:

  • Snap-to-grid will make it easier for you to lay out shapes, documents, pictures, etc. on your Kerika pages. You can turn this on or off as you like, and adjust the size of the grid spacing, by setting your preferences: while you are using Kerika, click on your picture near the top edge of the browswer window and you can get to your user preferences.
  • Google Docs will always open in a new browser tab: this change makes for a more consistent and better user experience for everyone. Different browsers handle Google Docs differently, so to provide a more consistent experience for everyone your Google Docs will now alway open in a new browser tab rather than inside the Kerika canvas.
  • Easier ways to invite people: based upon very useful feedback from one of our users, we have added an “auto-acceptance” feature to invitations, and also redesigned the emails that get sent when people are invited to join your projects. These changes make it easier for you to invite people, and handle situations where the invitation emails get caught up in spam filters.
  • Custom colors: mix and match colors as you like, if you don’t like the 84 colors that come with the Kerika palette. If you need to use specific colors, e.g. to match your company’s branding, you can use hex codes to get the exact shade you want.
  • Faster tab switching: we improved this in a several ways, and one of them is to make sure your tabs show the page exactly as you had been viewing it previously before you switched to another tab.
  • The old “Magic Plus” button is now split into two: separate buttons to add Web content and to upload files from your computer. These buttons remain as magicky as ever, in terms of figuring out what kind of content you are adding to your Kerika pages and taking care of all the details, but now the buttons are separated out to improve usability.
  • Upload multiple files with the Upload File button: you could always add multiple files to your Kerika pages by dragging and dropping them onto the canvas; now you can grab multiple files using the Upload File button as well.
  • Merging cells in tables: a cool new feature allows you to merge cells within tables that you create. This makes it even easier to create great-looking content on your Kerika pages, with our text formatting tools.
  • Select multiple cells within the same column and apply formatting to all of them: another cool new feature for those of you who like creating formatted tables. You can select multiple cells within a text table by simply dragging your mouse across them. And, then, you can apply formatting (e.g. text color) to all of them with a single action.
  • Removing multiple rows and columns is easier: drag your mouse across several rows and columns of a table and remove them all with a single mouse click.
  • Easier to navigate large Kerika pages: if you want to drag something into a new part of the canvas, away from the current view, the canvas scrolls automatically to give you more space.

Thanks again for all your useful feedback; we have tons of improvements and new features coming up: our next version will include a number of improvements to our integration with Google Docs.

An easier way to share Web-versions of your project pages

Our new version will have an easier way for you to share Web-versions of your Kerika project pages.

“Web-versions” are automatically generated for every Kerika page: they can be viewed as regular Web pages, and easily embedded inside your own website or blog.

For a great example of how an embedded Kerika page can look inside your own website or blog, check out Ogden Murphy Wallace’s “Startup Action Kit” which provides an online resource for entrepreneurs interested in starting healthcare IT ventures. This page contains a Web version of a Kerika page that has been inserted into OMW’s microsite as an IFRAME, something that’s easily done by using the “Share!” button inside Kerika:

How to embed your Kerika project inside your website or blog
How to embed your Kerika project inside your website or blog

 

With our latest version, getting the URL of the Web-version of your project pages is easier than before: just click on the Share! button, and when the dialog box shown above opens, you can grab the URL from either of the two places indicated above.

An even easier way to get the URL of the Web-version of your project: all Kerika project pages have URLs of the form “kerika.com/m/XYZ“; just change the “m” to a “c”, as in “kerika.com/c/XYZ“, and you have the Web-version of your project.

Remember: the Web version gets updated in real-time as you update your Kerika project pages, which means you are publishing on the Web in real-time!

 

A simpler way to deal with thumbnails

Sometimes you have to admit that your bright ideas just didn’t turn out as well as you liked…

One such bright idea was to have Idea Pages show thumbnails of their contents when viewed from their parent pages. Here’s an example of this works in practice:

Old thumbnails implementation
How thumbnails of Idea Pages used to look

A great idea in theory; not so great in practice…

The original goal was two-fold:

  1. To let users know quickly which items on an Idea Page contained other pages;
  2. To give users a quick visual sense for what was contained in those pages;

In practice, however, the effect of these thumbnails showing through all the time was a splotchy, rather ugly effect. To remedy this, we are adopting a new mechanism that we hope will continue to meet our two goals: with our latest version, any item on an Idea Page that contains another page will appear with it’s text/label underlined, like this:

What thumbnails look like now
What thumbnails look like now

As you can see, items that contain pages now appear with their text labels underlined. If you move your mouse over a shape that has underlined text in its label, you see a thumbnail appear as before:

A thumbnail appears on mouseover
A thumbnail appears on mouseover

Selecting the shape now provides a green “+” button: this lets you open the page contained within that shape.

Thumbnail on selection
Thumbnail on selection

This new green “+” button also appears on shapes that don’t contain any pages within them: in that case, clicking on the “+” button lets you create a new page that is contained within that shape.

In effect, the old double-click mouse operation has been replaced with a green “+” button that appears when you select a shape with a single mouse click.

We hope you find these changes helpful; we earnestly seek your feedback!

A completely rebuilt text block capability in our latest version

We have been toiling away for the past 4 weeks on our latest version of Kerika, with the vast majority of time consumed with a complete rewrite of the Text Block feature. This is the feature that lets you place blocks of richly formatted text, including Web links, pictures and tables, onto your Kerika page. (What we termed, in an earlier post, “glassbox documents”.)

Here’s a simple example of a text block:

A simple example of a text block
A simple example of a text block

 

Having realized just how important this feature is for our users, we decided to do a complete rewrite of all the code, abandoning the open-source library called Whyzziwig that we had been using previously in favor of our own implementation. We did all this work because it was clear that we needed to be in greater control of this particular feature’s destiny: something that’s impossible when you are using an open source library. As a result of all our hard work, you will now have a bunch of great new functionality!

  • An Undo button: at long last! We still need to create a broader Undo function that works across all of Kerika’s operations, but this particular button works nicely when you are editing a text block.
  • A strikethrough button: great for marking up requirements and discussions.
  • A new color picker: a simple palette of 84 colors with a cleaner user interface. Along with this comes an easier way to set the font, highlighting and background colors.
  • More options for numbered lists: including using alphabetic and Roman numerals.
  • More options for bullet lists.
  • A clear formatting button: this can be particularly helpful if you are importing content from Microsoft Office. (See our earlier post on just how much junk HTML is carried over if you copy material from a Microsoft Office document.)
  • Easier ways to add, edit and remove Web links: we have considerably simplified the user interface for attaching a Web link to some text (or to a picture that you have embedded inside your text block).
  • Easier way to embed pictures in text block: a simpler, cleaner user interface.

We also have reatly improved capabilities for creating and managing tables: this was where the bulk of the work was done! We have added a number of features that our users asked for, such as:

  • Setting Cell, Row and Column Properties: you can set horizontal and vertical alignment, as well as the background (fill color) for a single cell, an entire row, or an entire column.
  • Resizing column widths by dragging: something that we have wanted for a long time, and which took a lot of effort to build… Now you can re-size a column simply by dragging its edges, as you would with Word or Excel.
  • Copy and Paste: you can now copy and paste a single cell, an entire row, or an entire column. Great for moving stuff around inside tables!
  • Border color: easier to set, with our new Color Picker. And, to improve the usability and appearance of tables, we automatically make the outer border of tables twice as thick as the inner borders (that separate individual cells).

That’s not all that’s new in this release, but this particular blog post is long enough, so we will talk about other goodies in our next posting… Here’s a Kerika page that shows these changes: it’s open to the public to visit, so come on over!

 

Kerika’s blocks of richly formatted text: an example of “glass box documents”

Our next release will primarily focused around the text block feature, which is turning out to be perhaps the single most popular feature of Kerika.

When we first built Kerika, the ability to put formatted text on Idea Pages was viewed as an incidental feature: we figured that people would want to draw flowcharts, and in doing so they would need to put small bits of text on the canvas to use as labels and markers. Nothing more.

So, we considered a variety of open-source programs that provided HTML editing capabilities for our initial versions of Kerika , before settling on Whyzziwig which appeared to have more functionality than we thought we would ever need…

However, as we started using Kerika ourselves, and talked extensively to our helpful users, we slowly realized that text blocks were a very helpful feature indeed: perhaps the most important feature in Kerika’s bag of tricks.

We have dubbed this the “glassbox documents” phenomenon: if you are sharing user requirements or collaborating on a design, you don’t need the full capabilities that come with Microsoft Word or Google Docs. Instead, what you really need is the ability to quickly write relatively small bits of text, perhaps a few paragraphs long, with a table or some links and pictures, and use these to mark up an Idea Page.

Here’s an example of how we used these text blocks for developing the next version of Kerika, which will contain a hugely improved text block feature:

Example of using Kerika to design a user interface
Example of using Kerika to design a user interface

 

This picture shows an Idea Page that we used to share ideas between the designers, users and developers about how the text block feature could be improved.

  • In the middle of the Idea Page, we have a mockup of a new text block toolbar, to replace the existing Whyzziwig toolbar.
  • Above it are various pages that define the working of each button: inside each of these sub-pages we have small blocks of text that provide the detailed requirements for a particular button, as well as design notes from the developers and test data from the QA team.
  • Towards the bottom you can see a larger text block contain additional notes about the design.

Using text blocks in this manner, to capture and share our ideas and designs, we have reached that ultimate state of perfect collaboration: even though the Kerika team is distributed between Bellevue and Issaquah in Washington State, and Gujarat and New Delhi in India, we have zero emails being sent within the team!

This is the power of a glassbox document: the ability to sharply increase productivity and shared understanding of requirements and design, by putting text directly on an Idea Page instead of hiding it inside a conventional document (which we would call a “blackbox document”).

How to say “Hello, World!” in 1,287 words using Microsoft Word

People using Kerika love the text block feature – the one that lets you create richly formatted text blocks on a Kerika page that contain pictures, tables, lists and links – but all too often they try to create these text blocks by copying and pasting text from a Microsoft Word document.

The problem with doing this is that Microsoft Word produces a gigantic amount of HTML junk, even with the simplest text.

Here’s an example: create a new Microsoft Word document and type in the words “Hello, World!”. That’s it: just two words, a total of 13 characters including spaces and punctuation, using your default font. Nothing fancy – no colors, bold or italics, no lists, nothing at all. Just two words.

Now try to copy and paste this text into something that will display the HTML generated by Microsoft Word. One option is to paste this text into a Kerika text block, and then use the “View as HTML” option to see all the HTML that comes with these two words, but we will be temporarily removing the “View as HTML” feature in our next version as part of our rewrite of the text block feature. (More on that later…)

You will find that Microsoft Word produces an astonishing 1,287 words, which add up to 18,008 characters of HTML, just to represent a total of 13 characters of content. In other words, your simple bit of Microsoft Word text exploded by a factor of 1,385.

(If you look at the HTML, you can see, of course, that this expansion factor doesn’t stay constant: a lot of the HTML is simply a dump of a lot of styling information that wouldn’t change proportionately as you increased the size of the original Microsoft Word content, but still…!)

Here’s how you can say “Hello, World!” using 1,287 word of HTML:

Playing whack-a-mole with Google Docs and Chrome: where’s your image being stored today?

We recently talked about a shift within Google Docs that resulted in their using a new domain name – googleusercontent.com – to store images that users upload.

The way Google stores images on various sub-domains of googleusercontent.com is a bit of a mystery to us: it isn’t just that when you upload images to your Kerika pages they get stored by Google in some seemingly-random sub-domain of googleusercontent.com, but that the location may change from day to day!

This is making it very hard to run the Chrome browser with the “Disable third-party cookies” preference turned on, because you may find that each day some of the images on your Kerika pages are not being displayed because they have suddenly shifted to a different sub-domain of googleusercontent.com – one that you haven’t previously whitelisted.

Firefox used to have a very simple way of whitelisting domains for which you were happy to get cookies, but that disappeared several versions.

Chrome doesn’t offer any easy way of whitelisting domains either, presumably because Google is strongly in favor of third-party cookies since these underpin so much advertising. There’s an extension for Chrome called “Vanilla Cookies” that supposed to allow you to whitelist domains using wildcards, but it doesn’t seem to solve the whack-a-mole problem with googleusercontent.com as far as we can tell.

Now, your only options appear to be:

  • Disable all third-party cookies, which means that images you upload to your Kerika pages are not shown because they are being stored somewhere on googleusercontent.com, which is a third-party since it is neither kerika.com nor google.com, or
  • Allow all third-party cookies which means all sorts of junk can find its way onto your computer.