Category Archives: Technology

Posts related to technology in general

Why it took so long to get the Back Button working

We finally got the browser Back button working (along with the keyboard backspace key) to help you navigate back and forwards through your Kerika pages and other websites that you may be browsing at the same time.

You might be wondering why it took so long; after all, the Back button has existed in browser since the very beginning, and “breaking the Back button” is one of Jakob Nielsen‘s cardinal sins of Web usability.

The story is somewhat complicated, and it helps to understand two critical features of Kerika:

  • Kerika lets you have multiple projects open at any time, each within its own tab. In other words, Kerika lets you create tabs within a browser tab. Since all of these Kerika tabs are within a single browser tab, in some sense they all share the same URL as far as the browser is concerned. This makes things tricky for us, since each Kerika page actually has its own unique URL. So, how can we map several URLs, for several Kerika pages, to a single browser tab? Hmm…
  • Kerika offers super-fast updates when somebody on your project team makes a change to a project page that you are viewing: we aim for sub-second responsiveness in terms of letting you know that something has changed in your project. You don’t get that kind of speed using AJAX, which is what most people think means “real-time Web”. (That’s just so Web 2.0…) Instead, we use a newer technology called Comet, which is based upon the concept of “long polling”.

These constraints made it tricky for us to get the Back button working: we had to be able to “load” the browser’s Back button with a new URL every time you switch between Kerika tabs, and we had to do this fast enough to not compromise our exacting standards for delivering real-time performance.

We were finally able to do this because modern browsers are now offering Web applications easier ways to load the Back button stack in each browser tab. This is relatively new, and now supported across enough modern browsers for us to be able to offer this (seemingly routine) feature!

A major new release: snapshots of pages within pages!

The latest version of Kerika, hot off the presses, contains our biggest innovation yet: if you have pages contained within pages, these will now show up as small snapshots.

Here’s an example of a set of projects, as viewed from the My Projects page of an Account:

A thumbnail view of a project page
A thumbnail view of a project page

Projects can now be viewed as little thumbnails: this lets you see, at a glance, what’s inside a particular project!

This feature extends all the way inside a project that consists of a series of nested pages. Take, for example, the Product Management page shown above: if you open it up, you will see that it contains some sub-projects within it, and these sub-projects – which have their own pages – can also be viewed as thumbnails:

A subproject also shows up as a thumbnail
A subproject also shows up as a thumbnail

This feature is probably the coolest innovation ever! It took a really long time for us to build, since we were working on this while doing all the other usability improvements, bug fixes and new features we have delivered over the past few months, and we think it will improve the overall usability of Kerika in a very big way.

There are all sorts of side-benefits to this feature:

  • Now, you can upload a snapshot of the project to LinkedIn and Facebook along with your comments; the picture will contain a live link to your project.
  • We have made it possible for you to embed a snapshot of a Kerika page in your own website or blog, using the Share! button that’s now more powerful than ever.

These snapshots of pages are automatically updated whenever a member of your project team makes a change to the project: we wait a couple of minutes after the last change has been made before producing a new snapshot to avoids sending you a flurry of new images.

There are also two new ways for you to embed either a Kerika page, which you can use as a regular website page, or the entire Kerika application, in your own website or blog. (This is a big enough topic to deserve it’s own blog post.)

And there’s more to our latest version!

  • You can see the page URL of any project at any time (unless you are using Internet Explorer which continues to lag in its support for the HTML5 standard.)
  • When you upload documents to a project page, they are now stored in your own Google Docs account, not the Google Docs account of the Project Leader. This is a big change, but one that was necessary to allow the use of the same document in multiple projects. Previously, we passed ownership of the document to the Project Leader, but this meant that ownership could pass through several people’s hands if the same document was used in multiple projects.
  • The browser’s Back button (and the keyboard backspace key) work now! Yeah, it took us a while to get this working, but there were some serious hurdles that we had to overcome first, relating to the way different browsers support HTML5. More on this in a subsequent blog post.
  • We have added a new diamond shape to help you draw flowcharts. We are not keen to add a lot of shapes; we want to keep the Kerika user interface clean and uncluttered, but we felt that a diamond shape could really help with flowcharts so we have added our first new shape in six months!
  • Pages now automatically refresh if the application detects that there was a problem connecting to the server. The old dialog box that used to pop-up asking you to refresh your browser – which we found as annoying as you did – has gone away.
  • You can now add a Twitter feed to a page by just providing “@name” as the URL. Adding Twitter feeds to Kerika pages is becoming more popular with our users, so we made the process of using the Magic Plus button simpler: just enter “@kerika”, for example, when you use the Magic Plus button to add content from the Internet and you will get our Twitter feed added to your Kerika page.
  • Speaking of which, the Magic Plus button got even more magicky: now you can add content from dozens of third-party sources to a Kerika page. (You can see a handful of them listed on our website, but don’t be shy: just add any kind of URL and see if Kerika can’t automagically figure out how best to show it on your project pages.)

We also spent some time improving our text blocks, after seeing just how popular this feature was becoming with our users:

  • We have better icons for the buttons; the old ones weren’t as intuitive as they could have been.
  • We have added a new background fill color so that you can have even fancier text blocks.
The text block feature has better buttons and a new background fill color capability
The text block feature has better buttons and a new background fill color capability

We have done a ton of usability improvements and bug fixes, as usual, and we will continue to do so in the future…

  • One usability improvement was to “undo” a previous improvement: we had made a change in our last version that we thought was a good idea, but it turned out that everyone liked it, even us, so we have taken that out. Now, when you resize an item on your page using the grab handles, the item resizes in just one direction rather than in all directions.
  • We made it easier to add large (high-resolution) pictures to your Kerika pages. Previously, high-res pictures would appear initially with full resolution and crowd out everything on the canvas. Now, pictures appear with a maximum initial size of 640×480 pixels, and you can, of course, resize it to be larger if you like.

Finally, we have revamped our website completely and would love to get your feedback. We are featuring sample projects on our home page, and the Example pages.

We want to feature your work on our site! Create projects that are open to the public, that show your skills and share your knowledge, that related to open-source, advocacy, political action, interests in hobbies and sports… It’s all good.

The “S” stands for Siri, for speech.

Apple just announced a new platform and nobody noticed.

Far too much of the commentary from Wall Street about the launch of the iPhone 4S has been superficial, focusing on the fact that it is a “4S” and not a “5”. Why, oh why, wail the analysts, couldn’t Apple just have called it the iPhone 5 and made everyone happy?

This misses a rather big point about the iPhone 4S: the “S” may ostensibly stand for “speed”, since the new phones have a faster processor, but in our opinion the “S” really stands for Siri, as in “speech”.

OK, so we don’t have our hands on a real iPhone either, which means we are guessing, too, and using the very limited collection of videos and demos that are publicly available for our guesswork/analysis, the most extensive of which is Apple’s own promotional video.

This promo video, however, does provide a very good indicator of the vast potential of the new speech platform that Apple has just launched. Yes, there’s a whole new platform for personal computing out there now, thanks to Siri, and it’s not just limited to iPhones.

Siri is more than speech processing: it is an impressive attempt to bring interactive voice response (IVR) to the masses in a way that does not immediately induce rage against the machine. There are two major innovations with Siri, only one of which has gotten any real attention:

  • There is the AI needed to understand the user’s speech and translate the nouns, verbs and indirect references (like “this weekend”) into API calls, and here Siri promises to be a considerable leap forward from the kind of hugely annoying systems we all accustomed to dealing with when we call our bank or insurance company.
    There is also the AI needed to generate voice output from the system, and here Siri looks like it could do with some work, particularly if it is to sound less synthetic.
  • The far more impressive work is the Siri’s integration with the calendar, email, Google Maps and iTunes programs, as well as external web services like weather.com. This is the new platform that just got launched: the integration of a speech interface to all personal computing devices: not just phones, but also tablets, laptops and TVs.

The iPhone 4S will debut with Siri working seamlessly with mail, calendar, Google Maps, SMS, weather, and basic Web searches. But this is just the start: what Siri does today is similar to what the iPhone 1 did on the day it launched, when it came with a handful of standard applications for email, calendar, SMS, weather and basic Web searches. (Hmm… sound familiar?)

If the iPhone 1 was impressive right out the box, before hundreds of thousands of applications had been written for it, imagine what the Siri platform will be like when there are hundreds of thousands of existing applications and software packages that support a speech interface.

Apple has launched what they hope with be the speech platform for personal computing. Sooner than we developers would like, we will have to start supporting a speech interface to our personal computing applications, and it will have to be a much smarter interface than anything that came before.

If Apple succeeds in making the Siri interface a de facto standard, they will own a fundamental platform technology that would make Bill Gates envious.

Like a project? Copy it with a single click

We are encouraging our users to create public projects: projects that are open to the public to visit, and which can serve as templates for other users who need to perform similar functions. For example, a template on how to use Michael Porter’s Functions of a Competitor Intelligence System, adapted from his classic book on Competitive Strategy, might be useful for a number of people who are either studying the topic as part of an MBA program, or are simply applying these concepts as part of their jobs in marketing, product management or strategy.

Whenever you visit a public project, you now have an easy way to make a personal copy of that project using a new “Copy Project” button that we have introduced. Clicking on this button makes a complete copy of the public project for your personal use: it gets added to your own Account, and you can start working on it for your own purposes right away. This is what it looks like:

The Copy Project button lets you make a personal copy of a public project
The Copy Project button lets you make a personal copy of a public project

If you like the idea of contributing your ideas to the Kerika community, please consider making some of your projects accessible by the public. If you have a methodology, process or set of ideas or content that you want to share with the world, it’s easy to make your project accessible by the public: just click on the Team button and check the “Make project public” box, like this:

Make your project open to the public
Make your project open to the public

Remember, when you make your project open to the public, it doesn’t mean that anyone can just wander by and vandalize it. It just means that people can view your work, and if they like what they are doing, they could ask to join your project (which is great if you want to attract people to an open source or advocacy project), or they could use the “Copy Project” button to make a personal copy of the project that you have so kindly provided!

Kerika adds Social Media Links

Finally… yes, we know we should have done this a while ago, but we were busy making the core Kerika software more robust and polishing away some of the usability friction that users had reported, but now we have done it: we added social media links to Kerika!

The old “Share!” button at the top of the Kerika UI is still there:

The Share! button
The Share! button is on the toolbar, just above the canvas

Clicking on this button brings up a whole bunch of new possibilities:

The Share! options for a project that's open to the public
The Share! options for a project that's open to the public

The first option, from the left, is the “People” action: you can use the Share! button to quickly add people to your project team. (This is an alternative to using the Team button to manage your project teams.) Here’s how you can add people using the Share! button:

Using the Share! button to add someone to the project team
Using the Share! button to add someone to the project team

You can also use the Share! dialog to:

  • Post to your Facebook wall
  • Tweet about your project. (Your tweet will include a link to the project page.)
  • Post it as an update to your LinkedIn profile page. (That will include a link to the project page as well.)
  • Share it with your Google circles by doing a Google +1 on the page.

And, you can simply grab the URL of the page it you want to share it with someone:

Grab the URL for your project page
Grab the URL for your project page

And, finally, you can email a friend or coworker about the project, and include a link to the page in your email message.

There’s more to come: in the near future we will be making it possible for you to embed a picture of your project page in your own website or blog!

Our latest version, and then some!

In the immortal words of Jim Anchower: “Hola, amigos. I know it’s been a long time since I rapped at ya.”

Our apologies for not posting blog entries for a while, but we have the usual excuse for that, and this time it’s true: “We’ve been incredibly busy building great software!” It’s going to be hard to summarize all the work that we have done since June, but let’s give it a shot:

  1. We have curved lines now. And not just any old curved lines, but the most flexible and easy to use drawing program that you are likely to encounter anywhere. You can take a line and bend it in as many ways as you like, and – this is the kicker – straighten it out as easily as you bent it in the first place. There’s a quick demo video on YouTube that you should check out.
  2. We have greatly improved the text blocks feature of Kerika. The toolbar looks better on all browsers now (Safari and Chrome used to make it look all scrunched up before), and we have added some cool features like using it to add an image to your Kerika page that’s a link to another website. (So you could, for example, add a logo for a company to your Kerika page and have that be a link to your company’s website.) Check out the nifty tutorial on YouTube on text blocks.
  3. You can set your styling preferences: colors, fonts, lines, etc. Previously, all the drawing you did on your Kerika pages was with just one set of colors, fonts, etc., but now you can set your own styling preferences, with a new button, and also adjust the appearance of individual items.
  4. We have improved the whole Invitations & Requests process. Now, when you invite people to join your projects, the emails that get sent out are much better looking and much more helpful, and the same goes for requests that come to you from people who want to join your projects, or change their roles in your projects. Check out this quick tutorial on how invitations and requests work.
  5. We have made it easier for you to personalize your Account. You can add a picture and your own company logo, which means that when you use Kerika your users see your logo, not ours! Check out this quick tutorial on how to personalize your Account.
  6. We have hugely increased the kinds of third-party content you can embed on your Kerika pages. The list is so long, we really should put that in a separate blog post. We have gone way beyond YouTube videos now; we are talking about all the major video sites (Vimeo, etc.), Hulu, Google Maps, Scribd and Slideshare… The mind boggles.
  7. Full screen view of projects. There’s a little button now, at the top-right corner of the Kerika canvas: click on it and you will go into full-screen mode, where the canvas takes up all the space and all the toolbars disappear. This makes it easy to surf pages that contain lots of content, or work more easily with your Google Docs.
  8. Full support for Internet Explorer 9 (IE9). Not as easy as you might think, given that Microsoft has historically gone their own way, but we have sweated the details and now Kerika works great with IE9. As Microsoft continues to converge around common standards, this should get easier for us over time.
  9. Full support for all desktop platforms. OK, so this isn’t really a new feature, but since we are bragging we might as well emphasize that Kerika works, and is tested, to work identically on Safari, Chrome and Firefox on Windows 7, Mac OSX and Linux.
  10. Literally hundreds of usability improvements. Yeah, okay, we should have gotten it all right in the first place, but our focus over the past few months has been very much on working directly with our early adopters, observing them use the product, and noting all the tiny friction points that we could improve upon. We are not saying that we have all the friction removed, we are just bragging about the hundreds of tweaks we have made in the past 3 months.

Since June, we have had two major releases: one at the end of July that had nearly 150 bug fixes and usability improvements, and one this week, with over 120 bug fixes and usability improvements.

The product is now in great shape from an infrastructure perspective: the core software has been well debugged and is now very robust. Performance is great: you should get sub-second responsiveness when working in an environment with decent broadband wireless, where you see updates to your project pages in less than one second after a team member makes a change. (We test this with users in Seattle and India working simultaneously on the same project.)

Having this robust infrastructure that’s been well debugged and tuned makes it easy for us to add new features. In the coming weeks, look for more social media hooks, a revamped website, an extensive collection of public projects (that you can use as templates for your own work), and more. Much more. After all, if “less is more”, just think how much more “more” could be ;-)

Some thoughts on software patents

A very big day for us at Kerika: after more than six years of perseverance, we finally got our first patent issued today: United States Patent No. 7,958,080. (Yeah, that’s certainly a big number: a lot of people were granted patents before us!)

There is a lot of debate in our profession about software patents: strong opinions have been voiced in favor of granting software patents, and equally vociferous views have been aired in opposition to the entire concept. What’s discussed much less frequently is how long it can take to get a software patent, or expensive and arduous the process can be.

Our original provisional application was made on October 29, 2004; this was followed up with a final application, and then dead silence for a couple of years. When the Patent Office finally examined the patent application, there was a multi-year exchange of correspondence with the Examiner, with the Examiner making various arguments in opposition to granting a patent, and our lawyers making counter-arguments in favor of Kerika being granted a patent.

All this back-and-forth is quite normal, by the way, and works as designed: it’s the Patent Examiner’s job to not grant patents without challenging their claims, and it’s the applicant’s responsibility to offer increasingly stronger arguments in favor of being granted a patent. What is finally granted is usually a subset of the claims that were made in the initial application. It’s very rare for all of the initial claims to be granted.

Software patents are harder to get, and take much longer to be granted, than hardware patents, probably because it is easy to compare one tangible object with another and determine whether one is materially different than the second tangible object.

Software is harder because it is intangible: you have to describe an intangible item, using the jargon that’s peculiar to patent applications, in way that clearly distinguishes it from another intangible item.

The net result is that a software patent can take many more years to be granted, in comparison to a hardware patent. One of the problems with the process taking so long is that, by the time the Patent Examiner gets around to examining your application, the technology may have become so prevalent in other, competing products that it no longer appears to be as innovative as it was when the application was first made.

The entire process is also very expensive, particularly if you are a solo inventor or small startup (as we are): the Patent Office has been hiking its fees over the years, with the stated intention of hiring up more examiners, and thereby speeding up the process, but clearly they are having a hard time keeping up with the flood of applications because it seems like the delays are getting worse, not better.

Regardless of whether you are pro or con software patents, we would argue that both sides of the argument would be served better if the process of examining, granting or rejecting a patent were shortened very considerably. If a patent could be examined and acted upon within 2-3 months, it would entirely change the debate as to whether software patents are good or bad for innovation.

Meanwhile, back at the ranch… we have other patent claims in the works, which we hope will take less time to work its way through the Patent Office now that our first patent has been granted!

Our latest, greatest version: Copy/Paste, Share/Join, and more

We have been hard at work over the past couple of months: taking in feedback from our early adopters and using this to fix bugs, improve usability, and provide some very useful new features.

Here’s a quick summary of some of the stuff we have built in the past month or so:

  1. Added Copy, Cut, Paste as New, and Paste as Links. The Paste as Links feature is particularly powerful.
  2. Added a Share! button and a Join! button that makes it easy for people to create public projects and get people to join in their particular advocacy cause.
  3. Brought back double-clicking (after having taken it out in an previous version…)
  4. Made the text blocks more flexible, with the ability to embed URLs and autosizing.
  5. Improved our Google Docs Finder.
  6. Worked around numerous limitations of Google Docs.

We will describe each of these in more detail in subsequent blog posts, and we obviously have a lot of work on our hands to update our website to reflect all this new functionality! Oh, and about 200 bugs were found and obliterated in the past 2 months…

(Lots of people have provided useful feedback, but special thanks go to Michael Parker from Marketingeek and Alexander Caskey from High Bridge Communications.)

 

Running Windows on my iPhone…

Some years ago, a friend presented me with an old iMac that he didn’t need any more – one of those blob-like machines with a clear cover that let you see its innards. It was a heavy, inconveniently shaped machine that nevertheless started a slow migration to all-Mac household today: Mac laptops, iMac desktop, Mac wireless router, iPod, iPhone (and, soon, iPad).

Macs were always attractive for a simple reason: you didn’t have to worry about tuning the operating system. When I had PCs at home, I found myself having to do a clean re-installation of the operating system every 9 months or so, just to clean out the grit and gum that clogged up the Windows registry and system directories.

The way Windows programs were installed was particularly problematic: each application would leave bits and pieces of code and configuration files lying around all over the place, where it would inevitably trip up some other program. If you liked trying out different software, as I did, this meant that every 9-12 months you had to rebuild your PC from scratch: repartition the hard drive, reinstall the operating system (and several years worth of updates), and then all your applications, and then all your files. It typically took a full day, but it was worth it because your machine was all zippy and fast once again – at least for a few months…

The main selling point of Macs was that all this fiddling with your machine was unnecessary: your computer would “just work”, and you wouldn’t have to worry about rebuilding the machine periodically to get it in fighting trim. And, with the new iCloud strategy, Apple is trying to take that brand promise even further, by demoting your expensive gadgets to “just another device”.

Is this all going to work like magic, as Jobs promises? I doubt it, based upon my recent experience with my iPhone… For the past few months I had noticed that many of my basic iPhone applications would just quietly crash when I first tried to launch them: launching the music player, for example, would frequently take two attempts. The maps application would take up to a minute to launch, and then it would operate so slowly that there would be a 2 second delay in echo-back of character input.

I assumed this was due to the fact that the iOS operating system was getting fatter with every new update, while my hardware remained svelte. After all, the upgrade to iOS 4.0 had been particularly painful for my iPhone 3GS: it taught me a painful lesson about not automatically taking the latest software updates, even from Apple!

(And it wasn’t just me: lots of iPhone 3GS users complained bitterly after upgrading to iOS 4 – it was like trying to run Vista on hardware designed for Windows 95)

And that’s the long-winded segue into why it feels like I am actually running Windows on my iPhone: a couple of weeks ago my battery started to run out very quickly (it wouldn’t last even a few hours of slight use), I took my iPhone to the local Apple genius bar where they quickly determined that my iPhone’s OS was in terrible shape. Their recommendation was to do a complete rebuild of the iPhone: from scratch, which meant setting it up as a brand new phone and adding back in all my email accounts, music, etc. by hand.

This rebuild worked: now my iPhone is as fast and responsive as it used to be, but the experience of completely rebuilding an iPhone (which, incidentally, is not the same as doing a “restore from backup”), was all too reminiscent of having to rebuild my Windows machines periodically to clean out the gunk in the registry and system directories.

It is to the credit of the Apple “geniuses” that they quickly determined that my phone’s OS was in trouble, but I also suspect it is because this is a “known but not publicized” problem with iOS 4. Over time, iOS 4 gets in trouble just like Windows XP and Vista (and perhaps Windows 7 as well, although I use that too infrequently to say for sure).

Think different, work same.

Out of the billowing smoke and dust of tweets and trivia emerges our first patent

“The literati sent out their minions to do their bidding. Washington cannot tolerate threats from outsiders who might disrupt their comfortable world. The firefight started when the cowardly sensed weakness. They fired timidly at first, then the sheep not wanting to be dropped from the establishment’s cocktail party invite list unloaded their entire clip, firing without taking aim their distortions and falsehoods. Now they are left exposed by their bylines and handles. But surely they had killed him off. This is the way it always worked. A lesser person could not have survived the first few minutes of the onslaught. But out of the billowing smoke and dust of tweets and trivia emerged U.S. Patent No. 7,958,080 to be issued on June 7, 2011. Once again ready to lead those who won’t be intimated by the political elite and are ready to take on the challenges America faces.”

Out of the billowing smoke and dust of tweets emerges our first patent
Out of the billowing smoke and dust of tweets emerges our first patent

Our first patent! We are hoping the coming apocalypse doesn’t cause any more delays at the Patent Office; we have been waiting a long time for this patent to get issued, and there are more in the pipeline!