Own web analytics for startups – Part IV

Part IV – define questions our web analytics must answer

Now we know which systems we might need to use web analytics with. The only thing left to understand is what exactly we want to analyse and we will talk about it today. Our next step will be to write requirements and start looking for a solution.

Let’s look in Wikipedia: ‘Web analytics is the measurement, collection, analysis and reporting of internet data for purposes of understanding and optimizing web usage.’

Trimming down the definition, I would say web analytics is the collection and analysis of information about viewers of a web site with the purpose of optimization and improvement. Everything is very simple – collection and analysis. The analysis part is more important, because it will determine what we need to collect and how. What are we going to analyse? This is not hard to decide, all you have to do is formulate questions the answers to which we want to find out. And the analytics must give us those answers, whether it’s a web service, installable software or home-grown solution.
Read the rest of this entry »

Own web analytics for startups – Part V

Part V – we talked about data analysis but we haven’t forgotten about data collection. Next we bring in some important from our point of view analytics functionality which is not hard to implement – Events.

In our last post we defined web analytics as data collection and analysis but talked about analysis only. Today we will talk about data collection. If you think about data collection – short answer will be – we do not care how data are collected if web analytics answers all our questions perfectly.

There is only one place where analytics data are collected – log files*. That said there are two ways to direct data to log files. First – web server with standard or custom logging will store each and every request in its’ own access log file. Second – JavaScript inside web page. It sends HTTP request to a web server from client triggered by page load or certain event. Web server again saves such request in own log file. JavaScript is the only way to collect web analytics data when you use external service like GA or Clicky. Essentially a web analytics service provider asks you to send them your web server logs this way. Thus, you have to insert JS into all pages, increasing their loading time, send the additional traffic to the web analytics provider, and are then compelled to study their API to upload your own log files back and to write the reports answering your questions. Think for a minute. Do you see something illogical in such an approach?
Read the rest of this entry »

Web hospitality

In the sixth, not yet published, part of our series about Web analytics for startups, we will talk about how components are integrated in our product, what types of users it has (visitors, demo users and registered ones) and how their rights are distinguished. But we did not want to take your mind off web analytics, we’re talking there too much and the idea was born to write a separate post. Also some analysis of how such work is being built in other web services has been done by us and no articles on this topic have been found – so why not share with you about how the well-known web services welcome their visitors and how we decided to do it?

Most services provide the opportunity to work with the system in trial mode or directly subscribe to any of the paid plans. The most popular trial period for the already running service is 30 days. Sometimes the service, which is just ‘hatched’, begins to operate in private beta with a number of free users (beta testers), who are helping you to make your system convenient and relevant to market demands. Beta testers, in turn, participate in testing because (a) your system solves one of their problems, (b) they can make the system convenient for themselves, drawing attention of developers to the features that they (beta testers) lacked. The beta testing period is defined by the developer and there are no rules on the timing here.
Read the rest of this entry »

Own web analytics for startups – Part VI

Part VI – what we will collect and how. Session and cookies utilisation in our web analytics journey.

If you follow the course of our thoughts, then you probably figured out that we are ready for the opening ‘a nice Italian restaurant in the web space’ as DHH called web services that are profitable, self-sufficient, developing organically, which satisfy customers and are not concerned about the problem to catch up and overtake Facebook. Except for the actual web service, which will be launched with the name Nerrvana, we are working on a marketing website, the forum which will be most likely* running on phpBB, ‘Ideas’ inside forum, ‘Answers’ inside forum and a blog on WordPress platform.

Alex is working on the authorization integration between our product and phpBB forum. We have decided not to integrate a blog with the forum and the product and only make it easier to comment in a blog for authorized users. We will put their email address in the comments section if they wanted to write it. If the blog will become popular and have lots of comments (we hope so), then we integrate it with a forum in a way which will bring forum order and visualization power into blog discussions. We will write more about the tight integration between the blog and the forum, when and if it will become a requirement.

So the first Deep Shift Labs product build consists of:
- product
- forum (Forum + Ideas + Answers live in one place)
- blog
- marketing Site
Read the rest of this entry »

How do we use …


Idea to write a series of posts about tools we use at work came spontaneously. I hope you will find some handy info for yourself.

Jenkins – configs, problems, benefits (project itself)

phpBB – some forum usage experience for communications inside team and with clients (project itself)

Review Board – we started using code review tool and we like it (project itself)

dotProject – time & task management tool we use since 2004 (project itself)

Kayako – helpdesk system we use from 2011(product itself)

With each new post I will convert headings of this list into links.

Our card



Idea – ours, artist – Alex Bronzoff. Do you like it? The best way to get one of them is to become our client. Read the rest of this entry »

Sparklines – Part I

Bona Vista site is closed. Image from archieve


Hi. This is my first opus as a programmer, so put away your piercing-cutting and blunt heavy objects. Today we’ll talk about sparklines which are also known as microcharts.

Preface
I joined Deep Shift Labs in November last year. Having only basic knowledge of programming (including PHP), I decided to try myself. The guys were willing to look at me and gave me a few tasks to do. “If you can get things done – join in!” I did not want to think about it in any other way and therefore took up the hatchet started with entu .. anthu.. enthusiasm! The first task was called “Project msFouine”, if you’re interested – post a comment and I’ll talk about it next time. The second task was micrographics or sparklines.

What are sparklines? It turns out, they were invented by a well-known, in the narrow circles of infographics specialists, personality professor Edward Tufte. A little research and especially a read of a discussion on the site of the inventor, brought a lot of useful information on how to properly use sparklines, what are the implementations and where they are used in practice. As a result I created a list of links you can find below diluted with my comments.
Read the rest of this entry »

David Heinemeier Hansson at Startup School 08

David Heinemeier Hansson at Startup School 08

This post is a side effect of our work to translate Davids’ speech to Russian. As we maintain our blog in two languages we decided to produce English version with slides, subtitles and transcript for those who does not have time to watch it. We thank David for provided slides. Unfortunately YCombinator could not find an original video footage and we had to work it out from YouTube copy. So here it is …

“I’m David Heinemeier Hansson, I work for 37signals. I’m also the creator of a web framework called Ruby On Rails [cheers]. I am not going to talk about that at all today. Sorry about that. What I am going to talk about though in a little bit is how lonely I feel up here. So I work for 37 signals, we aren’t looking for VC funding, we’re not hiring, we’re profitable and it feels kind of weird to be in a collection of young smart people and feel a little bit low in that sense. Most of the talks this morning and most of the questions were how do I pitch my VC, how do I do this, how do I do the other things, that doesn’t really, perhaps, relate directly to hey how do I build a business that’s actually viable, short of Google deciding to opening its’ purse and picking me up. I think there’s too little talk amongst start-ups, about just making money on their own, so this is going to be a talk on the secret of making money online, but actually I thought I’d revise that a little bit, because at 37 signals we’ve been accused a little bit of being arrogant – there’s one way; our way or the highway.

Read the rest of this entry »

How do we use dotProject

How do we use dotProject


In this post we’ll talk about dotProject – a web-based open source project management system. We have used it from 2004 to the present day (seven years). You may consider this post as a mini-guide on the use of dotProject, based on the experience of a team of four developers who build web applications for businesses. This post is quite lengthy as we wanted to share our experiences and avoid creating just another impractical review.

It is hard to remember now, amongst which systems I had to choose. I remember that I found dotProject and eGroupWare. Today, according to Wikipedia, there are tons of such systems. In 2005 the choice was much smaller and the level of their maturity much lower. I have installed dotProject and eGroupWare, and I liked the dotProject – it had all the features that were needed, and even more. If you’ve read some of my previous posts, you know that I am not a supporter of services when you have to pay regardless of whether or not you are using the service, where the data can not be easily migrated to another provider. In general, I like lock-in free services and respect people who create them. It is not easy. I want to be able to leave without loosing data or having a headache because of data conversion. In this case we are talking about the data stored in the database and the files that are attached to projects, tasks, etc. Otherwise, I feel insecure and dependent on the service provider. If we talk about project management systems, then this freedom is only given to you by an open source system installed on your server, developed (preferably) on the language you are familiar with. This gives you almost unlimited possibilities – you can dig up and tweak anything. Rule is simple. If you do not want to tweak – you can live without it. That’s why I chose dotProject.
Read the rest of this entry »

Assign dynamic IP to VM without DHCP

The system we are developing is intensively using virtual machines. When the system core requires another machine it copies the template image, and starts it. Thus, many copies of essentially the same machine can work simultaneously.

Of course, at launch each virtual machine is identical to the template including the inherited set of the network settings. All virtual machines run on the same subnet, and therefore they should not use the same IP obtained from the template image to prevent conflicts. That is, each machine should get its own IP. It would seem that the solution is simple – use a DHCP server and dynamic IPs.

However, there are other options which I will discuss in this post.
Read the rest of this entry »

Looking for something? Visit the archives.