29 Jan 2013
Start In Paris is a monthly event where 5
startups have the opportunity to pitch their service to the Paris startup
community. After a first selection and then a public vote, we were selected as
one of 5 finalists of the #22 edition that took place yesterday, January the
28th!

Algolia has greatly evolved over the last few months, so it was an excellent
occasion for us to test a new pitch! And the response has truly exceeded our
expectations. After a 5 minute pitch we received a rush of questions,
displaying interest and insight from the 400-strong audience!
While we were the only tech startup to pitch to an audience including only a
few developers, we ranked second in votes, just behind Kitchen
Trotter, our fellow Seedcamp finalist from
last December. Congrat to them, they were truly excellent!
[Edit 03-Feb-2013] Check out Alexis Niki great feedback about the event on Rude Baguette [/Edit]

28 Jan 2013
Demonstrating how Algolia Search functions in the wild, in this post we will
discuss a recent integration with sharypic, another
Paris-based startup focussed on photo sharing at events.
Sharypic is a web and mobile
app dedicated to collaborative photo sharing, focused on
enabling users to easily gather photos from attendees during and after an
event. The platform allows users to collect and share photos from all devices,
including mobiles (via Twitter and Instagram), cameras, and computers, and
from already existing albums on Facebook, Picassa, and Flickr. One of their
killer features is the ability to stream photos to a live PhotoWall at the
venue and to an embeddable slideshow widget. This increases engagement both
with event attendees and with an online audience. On sharypic one of the
primary ways that users discover events is via a search bar, in addition to
pages highlighting recent and popular events.
The existing mobile search function relied on
users accurately typing an event's name into the search field, which limited
the results (especially on smartphones where typos are common). By integrating
Algolia Search into the mobile app, sharypic users can now type just a few
letters of a search term, or enter it incorrectly ('pqris' instead of
'Paris'), and the results will display the corrected term within event names,
locations, descriptions, or hashtags.
Martin Fourcade, one of sharypic's co-founders, said "For our users, it's
exactly what we needed. They can show the best photos of their events to
friends without bugging their smartphone and whining about the internet
connection. I'm lazy when it comes to typing on my smartphone, impatient when
it comes to waiting for server responses... now everything is done with a few
keystrokes!"
Sharypic's other co-founder François-Joseph Grimault hopes that this new
intelligent search will enable users to find specific content more easily,
possibly leading to increased exploration on the platform. Time will tell how
the new search feature affects user behaviour, but reducing user frustration
through quick and efficient search is a step in the right direction.
Download the latest version of the sharypic app, including
integrated Algolia Search, and have fun with photo sharing at your next
event!
24 Jan 2013
When I started to develop for Android it appeared to me that an APK file was
just an archive, a simple approach that you can find in many systems today.
Files are extracted from the archive at installation and you can access them
via the file-system.
This seemed even more reasonable since Android uses Linux which is very good
in respect to POSIX standards.
But I was completely wrong! An APK is not a mere archive: the application
starts from and uses the APK at runtime! This is a horrible decision that will
probably hurt Android for a long time...
[Edit 28-Jan-2013] The goal of this post was to express my point of view about the bad properties of using directly the APK file at runtime versus relying on the file system. I used memory-mapped file to illustrate this but the post is incorrect on that topic. There is in fact a way to memory-map a file directly from the APK: you can use an extension for which files are stored uncompressed inside the APK (mp3, jpg, ...) and use the AssetManager.openFD() or Resources.openRawResourceFD() to have offset/length inside the APK file.
All my thanks to Jay Freeman for his excellent feedback. His comments helped
me to understand my mistake and to improve our Android integration!
[/Edit]
What is the Problem with the APK format?
Let's look at our own example. At Algolia, we have designed an efficient
binary data-structure that is able to answer instant-search queries in just a
few milliseconds, even with a very big data set (for example with all the
world cities' names from Geonames: 3M+ entries). This data-structure is
designed to be used directly on disk without being copied in memory. To obtain
optimal performance, we use a memory-mapped
file which is standard on
all platforms, especially on Linux.
We have been able to use memory-mapped files on all platforms, except on
Android! In fact you can only retrieve an InputStream from a file packaged in
an APK. So the only solution to use a memory-mapped file is to copy the
resource from the APK on disk and then to use the file-system. This seems like
re-implementing an installer in each application.
Is the APK so bad? Why did they design it this way?
I imagine that Android developers chose this approach to solve some pitfalls
of file-systems. I can think for example about solving performance problems
when you have a lot of small files in one folder, or reducing the size of
applications on the device (resources are compressed in the APK and
decompressed only when the application uses them, which actually contributes
to the sluggish image of Android).
I may of course be wrong, there may be other more important reasons for this
approach. But if not, Android should have thought more about the consequences
of their choice: in the long term, the APK constraints are more serious than
those small pitfalls that could have been solved in other ways.
But wait... Android applications can contain dynamic libraries (.so files) via
NDK. Isn't it the principle of dynamic libraries to be memory-mapped? In fact
I am pretty sure they discovered this problem when working on NDK since
dynamic libraries are automatically extracted from APK file at installation
and stored in an application directory in '/data/data'. I am wondering why
they decided to implement this hack instead of fixing the problem...
Conclusion
Developing an API, a SDK or worse, a whole platform, is extremely difficult.
Let's face it, it's unavoidable to ship some badly designed components or
inconsistent APIs. We definitely need to listen to developers' feedback even
when it hurts. Actually, the real difficulty comes when it's time to put
things right without alienating existing users!
By the way, if you know more about APK design choices, I'm interested to hear
from you!
15 Jan 2013
About one month ago, we were given the opportunity to participate in
Seedcamp Paris 2012. In this post I'll try to
think back to that time and provide feedback, along with some advice if you're
considering going in that direction. In short, I can already say that this
experience has revolutionized the way we drive the company!

The Application
Everything starts with a good application... or a rushed one in our case! At
that time (end of October) we were fully focused on product development and
finishing everything needed for our launch (documentation, video, etc.). While
we knew about Seedcamp coming to Paris in early December, we initially saw it
as a potential distraction from more important stuff... we could not have been
more wrong!
Our opinion changed after a lunch with Philippe
Laval, former Seedcamp alumni with his
company Kwaga (now WriteThat.name, whom I had
the pleasure to meet a few times in my previous jobs. In a couple of hours,
Philippe opened our eyes to the broad requirements for successfully launching
a startup. Product is clearly one, but there are so many others we could not
ignore. His description of how his Seedcamp participation helped him a few
years back was enough to convince us we had to give it a shot.
Each step of the process brought its own rewards, starting with the
application! It is a simple form but it contains excellent questions about
positioning, monetization, competition and more. The best thing about it was
that we were forced to write down our vision for the company and this simple
process made us think harder than we had ever done before. We ended up
convincing ourselves more fully of what we were doing and why, with facts and
arguments to defend our vision. Of course, we would present the company
completely differently today! We continued to learn at an accelerated pace in
the following weeks. Despite some imperfections, participating in a Seedcamp
final is definitely a must.
The Almighty Pitch Preparation
About a couple of weeks before the event, we received the good news: we were
in! The promise to keep our success confidential was a bit frustrating, but
honestly we were overjoyed! However, there was no time to celebrate as
preparations for the event began immediately.
We already knew about the format and what to expect from the Seedcamp team
from what we gathered on the web. But there is a great leap from knowing to
actually preparing to participate! And with all the regular day-(to-night-)to-
day activities that our startup entailed, time was short.
We started by focusing on the pitch: 3 minutes, in English, to say a lot. We
rapidly drafted a first version and began to iterate, adding essential
information and removing anything not worth mentioning. It may seem
straightforward, but including everything from the problem, solution, vision,
market, competition, monetization and team in a three minute deck is no easy
task. It is, however, an excellent way to learn how to better explain your
startup! We learned to be concise - every word counts, and I began to memorize
each and every one of them. I had given speeches of various kinds on many
occasions in the past but I had never learned a text by heart. If you've never
done it before, it is more difficult than you may think. For a long time, I
was so concerned to get the wording right that any mistake would send me
fumbling for my next words. I had to practice dozens of times to feel
comfortable enough to pay attention to simple things like intonation!
Some advice: start working on your pitch as early as possible and get as much
feedback as you can. We were able to organize some pitch training sessions
with startup personalities and I can't stress how useful this proved to be!
(Our greatest thanks to Wessel,
Liam,
Philippe and
Fred. But wait, isn't there a
training session on the eve of the event? Yes, and it is incredibly useful.
But if you don't like the idea of changing everything overnight, work on your
draft and seek feedback beforehand! The preparation session will be all the
more focused for it. Also, if you can, do test your presentation with the
actual computer and projector that will be used the next day. While in our
case the conference room was really nice, the projector was very low-res and
our embedded video would not render at all. Fortunately we had the time to
record a new one with all fonts in bold...
Prepare your Mentoring Session too!
Out of the 20 teams participating, only two or three get an investment, so the
odds are tough. You may be lucky and seduce the Seedcamp team, but if not
don't waste your opportunity to get the most out of the mentoring sessions!
This is an incredible opportunity: about 80 mentors, many of them expert in
some field key to the success of your company, and all there ready to help.
Believe me, you don't want to miss that! You would have a hard time to get
their attention at any other time.
So be prepared! Think hard about the important questions (tip: usually the
ones that hurt) and look at the mentors' bios, articles, and anything else you
can dig up. If there's a fit, that's a win! Don't take it lightly, this is
probably harder than preparing your pitch. You're probably thinking you only
have one chance to make a good first impression with your pitch, while you
can't shame yourself too badly by being underprepared for the mentoring
sessions. You're right... but I'm convinced it is much more fruitful to
concentrate on getting answers and advice that could mean success over failure
for your company (a passable pitch may not be enough to get a Seedcamp
investment but good advice might reap untold rewards). Convinced? Have a look
at Andreas Klinger excellent post to get on track!
In our case, Julien did most of the work preparing for mentoring while I
concentrated on the pitch. Could we have done more? Probably. Should we have
done more? Yes. One month after the event, I think we put a good level of
effort into the pitch preparation, but we should have taken some more time on
the mentoring preparation. Honestly, I think we were good, with a clear list
of questions and we were ready to shut up and listen. But we could have
researched the mentors more thoroughly, especially the ones not on our
schedule.
D Day
Your pitch is ready, you've got all mentors covered, you slept 8
6 4 as many hours as you could... let's do this! First,
get up early. Arrive at least 30 minutes before the start of the event. Then
you have time to relax, get friendly with other teams and actually take the
opportunity to speak with a few mentors before the event.
After a relatively short presentation by the Seedcamp team, it will be time
for the pitches! 20 of them, 3 minutes each. Attention tends to drift, which
is why your pitch has to be captivating. Now is your chance to shine and put
all your practice to the test! We were lucky to go first as we were sorted in
alphabetical order. Other participants thought that was unlucky but I was
thankful! I had an opportunity to grab the audience's attention and there was
no time for stress to build up in anticipation before our turn... and
everything went all right! It was actually one of my best performances, much
better than during training the previous day.
One thing we could have improved was leveraging the pitch for communication.
There are two things you can easily do - take some photos or a video, and
tweet about your experience! Also, always have your twitter handle visible on
the slides. You may think it is enough to put it on the first and last slides
but what if someone watching wants to tweet during your pitch? Make it easy
for them!
Time for Mentoring
OK, so you are prepared for the mentoring and have researched all the mentors?
Some good ones are certainly not in your schedule so go and meet them during
the breaks! And either ask them to participate in your open sessions (mentors
are free to pick the teams they want for the last two sessions) or directly
ask them the questions that trouble you. Don't expect them to remember
everything you said during your pitch (they just saw 20 of them!) so get a
short intro ready. It is also better to have a quick demo instead of too many
words.
You're now up for 5 or 6 sessions of intense discussion with mentors. Andreas
provides excellent advice on the pitfalls and potential
benefits of these sessions. Don't forget, mentors are there to help you, they
won't attack you. Don't try to convice them you're right, just listen what
they have to say. Don't lose time explaining every aspect of your startup,
instead ask specific questions about their experience. And don't be shy to ask
for introductions. Either they will or they won't, but it doesn't hurt to ask!
Of course nothing is ever perfect. All mentors are not equal and some of them
may not even show up to your scheduled session (don't blame them, they usually
have a hectic schedule and your startup may not have an activity they relate
to). Anyway, you don't need to speak with all of them. It is much better to
enjoy profound and fruitful discussions with a few.
Followups
The day concludes with a party - in our case at a nice wine bar. As you can
guess, every team was quite exhausted and didn't stay late. A handful would be
invited back the next day to discuss potential participation in the program.
The selection process is a little obscure, with no clue provided as to their
criteria. This is a bit frustrating as I would have appreciated to know why
they didn't select us.
Keep in mind that mentors will have been approached by many people and may
forget the intro they promised you. Connect with them, thank them for their
precious advice, and kindly remind them of the introductions they promised.
And if you had a really good discussion with some of them, see if they would
be happy to continue a more regular mentorship role.
Takeaways
To get the best out of your Seedcamp final, you should invest a lot of time in
preparation. Don't bet everything on being accepted, the pitch day and
mentoring alone is definitely worth your effort. The preparation itself helped
us to focus on key questions and strategic decisions. We then had a priceless
opportunity to test our ideas with experts in many domains and to ask them
focused questions. That was like 6 months worth of mentorship in one day and
it profoundly affected our strategy for 2013! The event also boosted our
network - we contacted many people directly after the event and a few have
even become regular mentors.
The Seedcamp team is amazing but there is some room for improvement. We got
excellent feedback on our pitch during the training, but unfortunately, it
was lacking after the actual event. We were forwarded a few very nice comments
from mentors, but that was it. While we had the opportunity to discuss
directly with mentors, I would have loved to have some feedback from the
Seedcamp team. I understand they do not want to encourage debate over their
selection decisions, but understanding their reasoning would certainly be
useful.
From listening to other participants about their experience, be aware that if
you are selected for investment, the paperwork is time-consuming! Do not plan
too many developments for your startup or you may be disappointed by the poor
progress you'll make during that time. And don't forget that the Seedcamp US
trip is early the following year and that is something to prepare for too!
Another important thing we overlooked when applying is the need to
(re)incorporate your company in the UK. This is not such a big deal in the
first year as you will have help from Seedcamp but what about afterwards,
especially if you operate from your home country? Each country's legislation
is highly specific and you may have some headaches in store. Don't forget to
prepare for this before the end of the Seedcamp program.
In conclusion, Seedcamp Paris lived up to its reputation. Asked if we would do
it again, we would certainly answer yes! And I sincerely encourage other
startups to give it a go!