20 Apr 2015
Browsing the cumbersome interfaces of government websites in the lookout for
reliable data can be a very frustrating experience. It's full of specific
terminology and there's not a government website that looks the same. It's
like each time you want to use a car, you have to learn to drive all over
again.
Connect ideas with economic insight in a matter of seconds
That's what Quadrant.io is for.
Solving the frustration anyone who makes their points with facts encounters
when routinely performing data search. It offers them with the fastest and
easiest way to find and chart economic data from trusted sources.
Acknowledging that it can quickly become a nightmare to find reliable
information scattered all over the web,
Quadrant is on a mission to shorten
any data search to seconds. So that data users can spend less time finding
data and more time analysing it.
To keep this promise, Quadrant provides data users with an intuitive platform
that aggregates more than 400,000 indicators from over 1,000 public sources,
and keep them updated in real time. A powerful search allowing any user to
find exactly what they are looking for even if they do not use economists'
jargon is a must-have functionality in such a service.
And Algolia stood out as the perfect search solution for Quadrant.
Provide a rewarding search experience to End-Users
First because of** the rewarding search experience it allows to deliver to its
users.**
Algolia surfaces data relevant to people's search in milliseconds, showing the
most appropriate results from the very first keystroke.

It enables to search across different entry points corresponding to the
different attributes describing data series (release date, source).

That wasn't possible with other search solutions they tested before. After
implementing Algolia, Quadrant.io received nice feedback from their customers,
saying that "search was much more comfortable, much more intuitive".
Algolia empowers anyone to be a search expert
Second, because of the simple experience it is to deploy Algolia on their web
app. Back-end documentation and customer support was a major help: it took
them less than a week to implement instant search, including relevance
tweaking and front-end development. As Dane Vrabrac, co-founder of Quadrant.io
concluded "with Algolia, it's awesome all the stuff I can do as a non
developer !"
Images courtesy of Quadrant.io. Learn more on their
website.
18 Feb 2015
At Algolia, we allow developers to provide a unique interactive search
experience with as-you-type search, instant faceting, mobile geo-search and on
the fly spell check.
Our Distributed Search Network aims at removing the impact of network latency
on the speed of search, allowing our customers to offer this instant
experience to all their end-users, wherever they may be.
Every millisecond matters
We are obsessed with speed and we're not the only ones: Amazon found out that
100ms in added latency cost them 1% in sales. The lack of responsiveness for
a search engine can really be damaging for one's
business. As
individuals, we are all spoiled when it comes to our search expectations:
Google has conditioned the whole planet to expect instant results from
anywhere around the world.

We have the exact same expectations with any online service we use. The thing
is that for anyone who is not Google, it is just impossible to meet these
expectations because of the network latency due to the physical distance
between the service backend that hosts the search engine and the location of
the end-user.
Even with the fastest search engine in the world, it can still take hundreds
of milliseconds for a search result to reach Sydney from San Francisco. And
this is without counting the bandwidth limitations of a saturated oversea
fiber!
How we beat the speed of light
Algolia's Distributed Search Network (DSN) removes the latency from the speed
equation by replicating your indices to different regions around the world,
where your users are.
Your local search engines are clones synchronized across the world. DSN allows
you to distribute your search among 12 locations including the US,
Australia, Brazil, Canada, France, Germany, Hong Kong, India, Japan, Russia,
and Singapore. Thanks to our 12 data centers, your search engine can now
deliver search results under 50ms in the world's top markets, ensuring an
optimal experience for all your users.

How you activate DSN
Today, DSN is only accessible to our Starter, Growth, Pro and Enterprise plan
customers. To activate it, you simply need to go in the "Region" tab at the
top of your Algolia dashboard and select "Setup DSN".

You will then be displayed with a map and a selection of your top countries in
terms of search traffic. Just select our DSN data centers on the map and see
how performance in those countries is optimized.
Algolia will then automatically take care of the distribution and the
synchronization of your indices around the world. End-users' queries will be
automatically routed to the closest data center among those you've selected,
ensuring the best possible experience. Algolia DSN delivers an ultra low
response time and automatic fail-over on another region if a region is down.

It is that simple!
Today, several services including HackerNews, TeeSpring, Product Hunt and
Zendesk are leveraging Algolia DSN to provide faster search to their global
users.
Want to find out more about the Algolia experience ?
Discover and try it here!
12 Jan 2015
Exactly a year ago, we began to power the Hacker News search engine (see our
blog post. Since then,
our HN search project has grown a lot, expanding from 20M to 25M indexed
items, and serving** from 900K to 30M searches a month**.
In addition to hn.algolia.com we're also providing
build various readers or monitor tools and we love the applications you're
building on top of us. The community was also pretty active on
GitHub, requesting improvements
and catching bugs... keep on contributing!
Eating our own dog food on HN search
We are power users of Hacker News and there isn't a single day we don't
use it. Being able to use our own engine on a tool that is so important to us
has been a unique opportunity to eat our own dog food. We've added a
lot of API features during the year but unfortunately didn't have the time to
refresh the UI so far.
One of our 2015 resolutions was to push the envelope of the HN search UI/UX:
- make it more readable,
- more usable,
- and use modern frontend frameworks.
That's what motivated us to release a new experimental version of HN
Search. Try it out and tell us what
you think!
Applying more UI best practices
We've learned a lot of things from the
comments of the users of the
previous version. We also took a look at all the cool
apps built on top of our API. We wanted to
apply more UI best practices and here is what we ended with:

Focus on instantaneity
The whole layout has been designed to provide an instant experience, reducing
the wait time before the actual content is displayed. It's also a way to
reduce the number of mouse clicks needed to access and navigate through the
content. The danger with that kind of structure can be to end up with a
flickering UI where each user action redraw the page, activating unwanted
behaviors and consuming a huge amount of memory.We focused on a smooth
experience. Some of the techniques used are based on basic performance
optimizations but in the end what really matters for us is the user's
perception of latency between each interactions, more than objective
performance. Here are some of the tricks we applied:
- Toggle comments: we wanted the user to be able to read all the comments of a story on the same page, our API on top of Firebase allowed us to load and display them with a single call.
- Sticky posts: in some cases we are loading up to 500 comments, we wanted the user to be able to keep the information of what he is reading and easily collapse it, so we decided to keep the initial post on top of the list.
- Lazy-loading of non-cached images: when you are refreshing the UI for each request you don't want every thumbnail to flick on the UI when loading. So we applied a simple fade to avoid that. But there is actually no way to know if an image is already loaded or not from a previous query. We manage to detect that with a small timeout.
- Loading feedback: the most important part of a reactive UI is to always give the user a feedback on the state of the UI. We choose to add this information with a thin loading bar on top of the page.
- Deferring the load of some unnecessary elements: this one is about performance. When you are displaying about 20 repeatable items on each keypress you want them as light as possible. In our case we are using Angular.js with some directives which were too slow to render. So we ended up rendering them only if the user interact with them.
- Cache every requests: It's mainly about the backspace key. When a user want to modify his query by removing some characters you don't want to make him wait for the result: that's cached by the Algolia JS API client.
Focus on readability
We've learned a lot from your comments while releasing our first HN Search
version last year. Readability of the search results must be outstanding to
allow you to quickly understand why the results are retrieved and what they
are about. We ended up with 2 gray colors and 2 font weights to ease the
readability without being too distracting.

Stay as minimal as possible
If you see unnecessary stuffs, please tell us. We are not looking for the most
'minimal' UI but for the right balance between usability and minimalism.
Sorting & Filtering improvements
Most HN Search users are advanced users. They know exactly what they are
searching for and want to have the ability to sort and filter their results
precisely. We are now exposing a simple way to either sort results by date or
popularity in addition to the period filtering capabilities we already had.
Inlined comments
We thought it could make a lot of sense to be able to read the comments of a
story directly from the search result page. Keeping in mind it should be super
readable, we went for indentations & author colored avatars making it really
clear to understand who is replying.

Search settings
Because HN Search users are advanced users, they want to be able to customize
the way the default ranking is working. So be it, we've just exposed a subset
of the underlying settings we're using for the search to let you customize it.

Front page
Since Firebase is providing the official API of Hacker News, fetching the
items currently displayed on the front page is really easy. We decided to pair
it with our search, allowing users to search for hot stories & comments
through a discreet menu item.

Starred
Let's go further; what about being able to star some stories to be able to
search in them later? You're now able to star any stories directly from the
results page. The stars are stored locally in your browser for now. Let us
know if you find the feature valuable!

Contribution
As you may know, the whole source code of the HN Search website is open-source
and hosted on GitHub. This new version is still based on a Rails 4 project and
uses Angular.js as the frontend framework. We've improved the README to help
you being able to contribute in minutes. Not to mention: we love pull-
requests.
Now is starting again the most important part of this project, user testing. We count on you to bring us the necessary information to make this search your favorite one.
Wanna test?
To try it, go to our experimental version of HN Search, go to "Settings", and enable the new style:


Want to contribute?
It's open-source and we'll be happy to get your feedback! Just use GitHub's
issues to report any idea you
have in mind. We also love pull-requests :)
Source code: https://github.com/algolia/hn-search
23 Dec 2014
By working every day on building the best search engine, we've become obsessed
with our own search experience on the websites and mobile applications we use.
We're git addicts and love using GitHub to store every single idea or project
we work on. We use it both for our private and public repositories (12 API
clients, HN
Search or various
d
e m o
s. We use every day its search
function and we decided to re-build it the way we thought it should be. We're
proud to share it with the community via this Chrome
extension. Our Github Awesome Autocomplete
enables a seamless and fast access to GitHub resources via an as-you-type
search functionality.
Install your Christmas Gift now!

Features
The Chrome extension replaces GitHub's search bar and add autocomplete
capabilities on:

How does it work?
We continuously retrieve the most watched repositories and the last active
users using GitHub Archive dataset. Users and
repositories are stored in 2 Algolia indices: users and repositories. The
queries are performed using our JavaScript API
client and the
autocomplete menu is based on Twitter's
typeahead.js library.
The underlying Algolia account is replicated in 6 regions using our
DSN feature, answering every query in 50-100ms
wherever you are (network latency included!). Regions include US West, US
East, Europe, Singapore, Australia & India.
Exporting the records from GitHub Archive
We used GitHub's Archive dataset to export top repositories and last active
users using Google's BigQuery:
;; export repositories
SELECT
a.repository_name as name,
a.repository_owner as owner,
a.repository_description as description,
a.repository_organization as organization,
a.repository_watchers AS watchers,
a.repository_forks AS forks,
a.repository_language as language
FROM [githubarchive:github.timeline] a
JOIN EACH
(
SELECT MAX(created_at) as max_created, repository_url
FROM [githubarchive:github.timeline]
GROUP EACH BY repository_url
) b
ON
b.max_created = a.created_at and
b.repository_url = a.repository_url
;; export users
SELECT
a.actor_attributes_login as login,
a.actor_attributes_name as name,
a.actor_attributes_company as company,
a.actor_attributes_location as location,
a.actor_attributes_blog AS blog,
a.actor_attributes_email AS email
FROM [githubarchive:github.timeline] a
JOIN EACH
(
SELECT MAX(created_at) as max_created, actor_attributes_login
FROM [githubarchive:github.timeline]
GROUP EACH BY actor_attributes_login
) b
ON
b.max_created = a.created_at and
b.actor_attributes_login = a.actor_attributes_login
Configuring Algolia indices
Here are the 2 index configurations we used to build the search:
Repositories

Users

Want to contribute?
It's open-source and we'll be happy to get your feedback! Just use GitHub's
issues to
report any idea you have in mind. We also love pull-requests :)
Source code: https://github.com/algolia/github-awesome-
autocomplete
Install it now: [Github Awesome Autocomplete on Google Chrome Store
FREE]
Or just want to add an instant search in your website / application?
Feel free to create a 14-days FREE trial at
http://www.algolia.com and follow one of our step
by step tutorials at
https://www.algolia.com/doc/tutorials
01 Dec 2014
In an economic environment where the competition for end-users’ attention and
interest is fierce, overlooking search inside your website and mobile
application may damage your business.
Powerful and reliable Web search engines such as Google have created deeply
rooted expectations for a responsive and intuitive access to online content
and your users expect the same responsive experience once they access your
service. Yet most websites and mobile applications still provide a frustrating
and cumbersome navigation and exploration experience, supported by a poor
internal search engine. Besides, people cannot stand wasting time and the
Google guys got it: they’ve made moving between websites effortless. What
people don’t find easily with you, Google will find it for them, and it may be
with your competitors. Great site search reinforces retention but also brand
awareness and customer loyalty.
End-users have high expectations when it comes to search
Google’s mission is to organize the world’s information and make it
universally accessible. This is how people use the Web, they hunt for
information and content. In 2004 already, according to Nielsen Norman
Group
(2004), people would start their web sessions with a search engine 88% of
the time. This hunt for content does not stop once users access your
service. By using extremely fast and intuitive Web search engines such as
Google or Yahoo, users have developed well-established unconscious
expectations about what great search should be: the invisible link that
understands an intent and translates it into in the right answer. Users have
been conditioned to rely on such responsive and supportive search interfaces.
With the ever growing amount of content online services offer their users,
internal search is now more central than ever to keep up with this need for an
immediate access to relevant answers.** Search has become the most important
UX component for information retrieval and exploration inside online
services**. But the gap keeps increasing between this need for a powerful
internal access to content and the poor navigability of some online services.
It has become so important that unconsciously, people would rather trust
Google to find content inside your service than your own internal search and
navigation engine.
Return On Time Invested is the search’s KPI
People see the Web as an “integrated whole” where the fundamental units are pieces of information, not websites, so it is critical for websites and mobile applications to be able to quickly surface relevant information. In such a system, expecting users to navigate complicated information architectures through endless links and tabs is simply not a viable solution.
Users optimize their time and efforts in their hunt for information (see the information foraging theory by Pirolli ). They just behave like our ancestors who looked for patches of foods, looking to get the largest benefit with the smallest effort. They exhibit a short attention span, are time-constrained and highly impatient. Thus, they will exercise judgement and pragmatic decision-making strategies in deciding whether to persevere with a given information resource or to look for a different one. The amount of time a user spends on a given website is directly proportional to the travel time between sites and what happens is a phenomenon Jacob Nielsen (2003) describes as information snacking: since information resources are often disappointing and the between-patch time decreases thanks to Google and fast Internet connections, users simply spend less time on a given website and instead multiply their options. All ecommerce websites know that usability guideline: “If users can’t find a product, they won’t buy it”. But with Google and the shrinking travel time between websites, things have changed: “If users can't find it fast, they won’t buy it” would indeed be closer to reality.
Search is a key element of your users’ loyalty
According to a Kelton Research study conducted among one thousand American
adults (2007) on "the state of search", 78% of those
who experience search engine fatigue “wished” that search engines could
actually somehow “read their minds”. Visitors need to feel understood and
treated fairly when interacting with a service. If you think about it, the
search bar of a website or a mobile application is a unique field where the
users express their intent the most clearly. This is by far the most
valuable touch point between an end-user and an online service as well as a
unique opportunity to engage a user in a “digital” conversation. Not
surprisingly, returning poor results when a user takes the pain to articulate
his intent translates into poor retention: would you engage in a
relationship with someone who constantly answers off topic? Probably not and
that’s nevertheless what’s happening on the Web today. The disappointment
caused by a lack of relevance unfortunately damages your credibility and your
brand.
Relevance is mandatory for retention but personalization is the key to
loyalty. And whereas it’s not really possible to offer a browsing interface
personalized per user, an efficient search function can provide an experience
tailored to the particular needs of end-users. Results of a particular query
can be pushed up the search results page according to personal data gathered
during a session. Search rankings can also be tweaked on a per profile basis,
take into account in real-time the preferences of each user, her friends, etc.
Let’s wrap up!
Today we are in a paradoxical situation where most efforts are put on external
findability, websites wanting to be immediately accessible from Web search
engines. But without a strong focus on the search feature of the website to
achieve a great internal findability, all those branding and search engine
optimization tactics are in vain. Internal search is about organizing your
own information and making it universally accessible to your own users: what
Google did for the Web, you now need to it for yourself!
Blog post series: Why You Should Care About Search
- the strategic importance of search inside websites and mobile applications (part 1)
- the main components of a great search experience (part 2 - Coming soon)
- the crucial role of speed (part 3 - Coming soon)
- the short-term and long-term business impacts of an intuitive search (part 4 - Coming soon)
- In our next blog post, we will dig into some of the characteristics of a great search experience.