Importing Data from 3rd Party Systems

December 18, 2012.

The current focus of the Squirro platform lies on a sales intelligence tool. Client research efforts are automated such that individual sales representatives are equipped with up-to-date information for calls and meetings. This results in a reduced sales cycle time and an improved win rate. Out of the box Squirro is integrated into a number of customer relationship management solutions such as Salesforce (depicted below) and SAP Business by Design to deliver contextual event streams.


In a Salesforce environment Squirro will automatically use your Account, Lead or Contact data to find relevant content. However, this only works because part of the Squirro platform is deeply embedded with the Salesforce platform.

Some of our clients simply are unable to do such a deep integration. The reason for this situation are manifold: Some customers are heads down implementing other Salesforce related efforts and have no man power left to integrate Squirro at this point. Others are bound to a customer relationship management system that is developed and deployed in-house. A third category of our clients simply do not need a complete customer relationship management solution such as Salesforce. A simple tool like Excel is able to perfectly fulfill their needs.


The question which arises immediately is how do companies in such environments leverage the full potential of the Squirro platform. The answer to this question is simple: Export your customer data out of any source system and import it back into the Squirro application. Our file importer currently supports the popular Excel and CSV file formats.

A detailed example use case can be found in our Squirro User Guide. The corresponding section illustrates how to export account data from Salesforce and import it back into the Squirro application. The same procedure can be used to export data from any source system.



Bilanz (The Forbes of Switzerland) features Squirro

October 15, 2012.

In the most recent Bilanz issue, Squirro is featured with a brief interview on its whereabouts and its ambition.



Swisscom features our sister product Memonic in its all new App Store

October 01, 2012. Filed under memonic, swisscom, appmarket.

Swisscom, Switzerland’s national telecom’s provider just launched their cloud marketplace. Targeted at smaller and mid-sized companies, it comprises a number of great online, cloud-based business applications.

We’re honored that Swisscom chose Squirro’s sister product Memonic to be among the two dozen launch applications.

Companies of any size may now enjoy a reliable, secure online notebook service for all their digital note-taking requirements: Effortless organizing, team-friendly sharing, synced across all your devices and accessible from anywhere.

Test it yourself!



The future of publishing: A living collection

August 26, 2012. Filed under squirro, publishing.

Source: Bigstock

Richard MacManus of Read Write Web recently wrote about the future of publishing being one of streams.

A stream is a continuous flow of information: Anil Dash declares he wants “a clean, simple stream of my writing, organized by topic and sorted with the newest stuff on top.”

Thinking around topics instead of pages, blog posts (shorter pages) or Facebook updates or tweets (even shorter pages) resonates a lot with what we do here at Squirro.

It is part of that same quest to find relevant information. In our view you can go one step beyond and at to “find” also “remember, organize and share” as next logical steps. The end point then is more than a stream with a RSS-like ‘latest-post, top-position’ logic but a living collection of curated content on a certain topic of interest.

This living collection then updates continuously and automatically. As a reader I may want to consume this in a traditional ‘latest-post, top-position’ logic, but I may want to consume that stream in a number of other ways, too. E.g. based on the reputation of certain contributions, the level of ‘noise’, i.e. the number of posts I want to read in such a stream, the type of post, the reputation of the contributors, etc.

Over time I will be able to sort this living collection to point me to the seven* most relevant posts and the seven most relevant contributors on that topic. That in our view is the future of stream-based publishing.

* Why seven? It’s an arbitrary number.



There's a Tool for That -

August 23, 2012. Filed under technology, web-development, images, tools, howto.

Performance is critical to the success of any web site. At Squirro we use css spriting, domain shardingjavascript minification, http compression and many other rather complex methods to ensure that our service is as fast as possible.

But one thing is as easy as pie: keep your images file sizes small. 

Enter A service that trims a lot of fat from your PNG images without a noticeable difference in quality.

Let’s see an example:

The Squirro logo, as saved by Photoshop CS6, 20.6 kilobytes

Now the same image, optimised with, 9.7 kilobytes

Thats a 53% reduction, and I can’t see a difference. Can you?

There are other tools out there. OptiPNG and pngcrush both reduce the above Photoshop image by about 13%. While these clearly can’t keep up with size reduction, both are open-source and command line tools. You can easily include them in scripts and applications. For example you can automatically optimise all of the png files that your users upload. With TinyPNG this is not feasible, as you have to go to their site and optimise them manually.

Its also important to understand that TinyPNG reduces the numbers of colours in your image. So there may be cases where an optimised image looks worse. But I yet have to see such an example.

So, go ahead and speed up your site. Run all of your sites PNG’s through It’s easy & free, but don’t forget to donate and keep panda George happy.

What tools are you using to reduce your file sizes? Do you know of a tool that can beat TinyPNG? 



Great Job - Thank you!

August 15, 2012. Filed under squirro, great-team.

Thank You Note - Source: Bigstock

Our engineering team here at Squirro is doing a heck of a job! Focused, result driven with a no-nonsense approach they create a great web application. Squirro is being developed at the speed of light - it is sometime breathtaking. Time to say thank you! 

And to have a little fun we promoted one of the engineers representing this great team to be Major Post-It of the Day!




Freemium has run its course - our experience

August 08, 2012. Filed under squirro, freemium, memonic.


Recently I came across this piece from Rags Srinivasan “Freemium has run its course”. Here at Nektoon – that’s the legal person behind Squirro & Memonic – we apply both concepts. Memonic is run on the freemium model. The extensions we provide to a number of CRM systems and our upcoming product Squirro is run try-then-buy (actually subscribe model).

A number of the points raised by Rags resonate with the experiences we made. We attracted hundreds of thousands of users for Memonic through the freemium model and receive great feedback from our users. Recent example: “With the right combination of features, ease of use and visual appeal, you get hooked. Such is Memonic for me.” F.G., Canada.

The approach has it’s merits: We enjoy a conversion rate of above 8%, which to my knowledge is very high – higher at least than most of the players in the field of note-taking. By implication this means that 92% either don’t get enough value out of our product to pay for the product or are not willing to pay the cost of service.

I love happy users (albeit I love happy customers a wee bit more) and would love to support them forever for free. However, next to the obvious costs of providing the service, there are also non-obvious costs to the approach: skewed incentives.

As opposed to lavishly funded (mostly American) startups we’re bootstrapped. That is we only have very little resources at hand, brains & money that is. Our overriding strategic theme thus is “How to allocate scarce resources” also known as How-to-Run-A-Marathon-In-A-Straitjacket.

The matter boils down to the 3AM question*: What is my next move?

Do I invest time and resources in supporting my free user base or do I invest that same amount of time and resources in creating value for my paying customers.

No prizes for guessing what a bootstrapped startup does.

The consequence: A misalignment between free users and paying customers.

Implications for us: We decided to pursue a different strategy for our Squirro. Squirro will be offered as a try-and-buy product. The goal: Bring into line the interests of customers and us the creators of the product.

This will over the course of the next months provide us with the unique chance to compare the success rates of both models under one roof.

I’ll report back on our findings.

* It’s actually the Tuesday 10am question. That’s when we do our weekly sprint reviews and planning. 



Early users find Squirro to be invaluable

August 07, 2012.

Digital research app filters out the noise and irrelevant news, giving users the content they need and want

We just surveyed our initial beta users and the results tell us that Squirro, the world’s first “digital research assistant”, has proven to be an effective tool for sales, marketing and personal uses.  Squirro users are empowered with relevant content for more efficient market research, news and event analysis, prospecting, and relationship building. 

You may want to read our press release here (PDF 66.2 KB).



Open Position: DevOps Engineer

July 27, 2012. Filed under job, open-position, engineer.

As a seasoned ops expert for full-time employment you will be part of the core team building and operating Squirro, the personal digital research assistant. Within days you will be taking over the responsibility for sizable portions of this new platform. You’ll be part of a small team building and operating a scalable real-time application that is run on Amazon AWS.


  • Work permit in Switzerland, which is given for citizens of EU and EFTA member states.

  • Since our solution is built in Python and we’re not kidding about the Dev in DevOps, its a big plus if you’re experienced in Python.

We don’t hire based on experience with a handful of tools. Instead, we want smart, capable, and experienced people who can learn our tools (and suggest new ones) as needed.

Here is what we use:

  • Linux (Debian)

  • Amazon AWS (EC2, EBS, ELB, S3, Cloudfront, RDS (MySQL), DynamoDB, SQS, Route53 and more…)

  • Puppet

  • Elasticsearch

  • Nginx

  • Varnish

  • Icinga

  • statsd / graphite

  • papertrail

  • and much more…

That is the product

Squirro is the personal digital research app. Broader than feeds and more specific than search, Squirro filters out the noise to give you the content that matters most. Squirro scans multiple sources from Internet channels and social media, private databases and even company internal to find the most relevant information on your topic of interest, then updates it continuously and automatically. The result is a living collection of curated content you can save, synthesize and share.

That is us

Squirro is developed by passionate internet geeks and entrepreneurs with high ambitions: To simplify the everyday need to find, remember, organize and share important information. We created Squirro following Memonic, the award-winning, online note-taking app and the Swiss search engine

The deal

Become part of a passionate and fun team. Take over the responsibility of operating and scaling Squirro and Memonic. In return you’ll be working in a startup setting and will receive a share of the future success of the platforms you help building. 

Get in Touch

Toni Birrer, Co-Founder & CTO
Skype: tonibirrer
Phone: +41 44 586 98 98



Customization within Multi-Tenant Platforms

July 23, 2012. Filed under technology, python, architecture, rest.

Using a cloud-based multi-tenant architecture for your software product works great. Every one of your customers is served from a single installation. Upgrades are simpler to perform compared to an on-premise operation model. It might even be the case that only a single version of your software is installed in your entire environment.

It all looks great. Then one day the whole team meets to plan the next iteration of the product. The conversation could start like this: “Good job guys pushing out the new release yesterday! It’s fantastic to use our new search functionality. Let’s release it to beta users next week. And to paying customers at the end of the month.”

As outlined in the beginning of this article using a multi-tenant platform is beneficial from an operators point of view. However, the price one has to pay lies in the increased complexity. The same installation will need to be customized in terms of branding, work flow, or even access control. At Squirro we are building exactly such a multi-tenant platform to serve all of our customers. In order to e.g. customize a certain work flow there is a central service which allows configuration values to be stored in an efficient and hierarchical manner.

What works great is to exploit the fact that configuration values can be the same for a set of users. You can for example define which logo to show in your front end web application for all users of a single customer. For storage and maintenance reasons you are better off to not store this information for every user individually. However, the hierarchical nature of the system still accounts for the fact that a single user might have a different need. In the picture below you can see how configuration values are organized. At the very top there is always a default entry for any configuration value that is stored within the system. Below that users can be grouped into tenants and groups. At the bottom level a value can be present for a single user.

As our architecture is based on independent HTTP services the configuration values stored on persistent storage are exposed via a RESTful interface. Any module that needs to fetch values from the configuration service uses our Python client library. It abstracts away all the boiler plate HTTP calls and the corresponding error handling routines. Moreover, the library contains a time-based cache which expires cached entries after a given time period. Such a design makes sure that on one hand the service is not contacted on every request to get the same configuration value. On the other hand a time based cache makes sure that updated values on stable storage get propagated eventually.

So let us walk through an example and see how things look in actual Python code. The goal is to query the configuration service to check whether the improved search functionality is enabled for a particular user. First we import our client library and create a new client. Then we can query the service and make sure that configuration values are stored within an in-memory cache of the current process.

The code example above shows how to get the default value which is used as a feature switch. But now the hierarchy of the system allows us to store values for all users of an tenant. Or we can fine tune the setting for an individual user. In the code example below it is shown that the new search functionality has been enabled for a particular software engineer who is currently testing the new feature. All the other members of the team get the value which is defined for the tenant.

There are many use cases for the usage of a configuration service within a multi-tenant environment. The scenario of work flow customization has been highlighted above. Taking advantage of the hierarchical nature of configuration values is crucial to make such a service scale and be used throughout a multi-tenant platform.