Aug 19 / 12:40pm

Installing wget on OS X

by fruux

We're excited that our website http://fruux.com is much more popular than it used to be before the relaunch. However these additional visitors also result in a lot more traffic and load on the respective frontend servers. We already had that in mind, when we started working on the new website and built it in a way that allows us to use a content management system but still publish the site as a pure static website.

We're using wget in this setup to create the actual "compiled" site that gets published on our production systems. Unfortunately wget is not included in OS X by default, but luckily it's easy to download and built it from source.

If you also need wget on your machine, just copy the following few lines and paste them in Terminal.app.
They'll always download and install the latest version of wget on your machine.

(Update: Alternatively use Homebrew - a straightforward replacement for MacPorts: http://mxcl.github.com/homebrew/. Thanks, Evert.
If you want to remove the manually installed version of wget before switching to Homebrew, just repeat the steps below and replace the line "sudo make install -C ~/Downloads/wget-latest/" with "sudo make uninstall -C ~/Downloads/wget-latest/")

# download latest wget version
curl -o ~/Downloads/wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz

# create temp directory for extraction
mkdir ~/Downloads/wget-latest

# extract into temp directory
tar xzf ~/Downloads/wget-latest.tar.gz --strip-components=1 -C ~/Downloads/wget-latest

# build and install wget
cd ~/Downloads/wget-latest/ && ./configure
make -C ~/Downloads/wget-latest/
sudo make install -C ~/Downloads/wget-latest/

# cleanup
rm ~/Downloads/wget-latest.tar.gz
rm -rf ~/Downloads/wget-latest

If you are interested in details about our static website setup, let us know and we'll follow-up with another blog post with more details if our workload allows it.

 

 

Filed under  //  code snippets   development   static website   wget  
Aug 12 / 7:21pm

launched iOS calendar syncing and relaunched fruux.com

by fruux

Those of you following our Facebook page already know it, but for the sake of completeness we're cross posting it here.

We've launched support for iOS calendar syncing on July 29th. It's available to our pro users and quite easy to setup. Check our Facebook post for details. It's still an early preview, but we're working on fixing all bugs that pop up and once you're and we're happy with it, we'll shift our focus to contacts syncing.

Today we've also relaunched http://fruux.com. After uncountable night shifts, we proudly present a completely new look, a significantly improved support center and a consistent design throughout all sub-sites.

Oh, and we're hiring - take a look at our "Work with us" page.

Filed under  //  CalDAV   CardDAV   fruux   iOS  
May 27 / 6:17pm

fruux iOS calendar syncing demo

by fruux

Wednesday night we took the time to record a short video to show you a little demo of our upcoming fruux iOS calendar syncing feature. It was already a bit late and we had just an iPhone... so sorry for the bad video quality. :-)

If you want to get realtime updates about our day-to-day work you should definitely follow our fruux Facebook page.

Filed under  //  CalDAV   calendar   calendars   fruux   iOS   pro   selective syncing   sync  
Mar 12 / 10:57pm

occasional uptime issues

by fruux

We're currently suffering from occasional uptime issues which are caused by a MySQL bug (#55284, #55543) triggered in certain and causing short downtimes for our service. Luckily we've now implemented an automatic recovery process which is launched in these situations to bring the service back online quickly whenever this problem occurs.

As far as we know this bug was fixed in MySQL 5.1.56 (which was released on March 7th) and MySQL 5.5.10 (which is not yet released).

We're in close contact with the product manager and his team at Amazon RDS and have high hopes for a quick roll-out of the fixed MySQL versions which will permanently resolve our current occasional uptime issues.

We'll add a free month of usage to your fruux pro accounts as a little compensation for the current problems once the issue is resolved.

Filed under  //  Amazon Web Services   MySQL   RDS   bugs   uptime  
Feb 23 / 5:33pm

iOS calendar syncing on the horizon

by fruux

Since some of you don't check our posts via Facebook and/or Twitter we'll just cross-post our latest Facebook post here:

We're nearing our iOS calendar syncing beta test with huge steps. We'll at first pick a couple of early supporters and then sequentially roll out to more users while monitoring how our systems handle the additional load. Once we are satisfied with these tests, we'll make iOS calendar syncing available to all pro users and then work full force on the iOS contact syncing implementation.

We're also working on a ton of other amazing stuff we can't talk about right now. ;) Oh and b.t.w. we are currently looking for actual office space. Once we've found a nice place you are happily invited for a chat and a coffee if you are near by.

 

Filed under  //  CalDAV   CardDAV   beta   iOS   office  
Jan 1 / 5:50pm

what happened so far and our goals for 2011

by fruux

Happy New Year everybody! We've been working on a lot of stuff during the last months and have some pretty amazing news to share with you.

Our launch of fruux pro took us a lot longer than expected, a lot of administrative tasks popped up along the way and we still have tons of quirks to work out, but on the other hand we have also made a lot of progress and wanted to give you a short update on it.

Amazon Web Services, one of our infrastructure parters, recently published a case study about fruux, giving you an overview about the technical aspects of fruux while also delivering a brief introduction into the history of our project.

But now, without further the important stuff for 2011:
We've worked amazingly hard during the last months to make support for iOS devices happen as quickly as possible and even we weren't able to launch a first alpha version as a new year surprise as we had initially planned, we're sure that you'll like it once it's finally rolled out.

We've been joined by a new developer who's been working solely on our iOS implementation since then.

Hi, my name is Evert and I'm the latest member of the fruux team. I spend most of my time engineering web application backends, and dedicated a great deal of my time working on CalDAV and CardDAV implementations, which is also what I'll be integrating into fruux. These technologies are extensions to WebDAV and are actually supported by more and more devices & applications and provide for seamless data synchronization.

What this means is, that we'll be able to deliver on the promise of one of the most requested fruux features: iOS synchronization. We'll start with CalDAV support which allows you to sync calendars with your iOS devices and then continue our work with the CardDAV support which will allow you to sync your Address books.

We'll be keeping you posted on our progress.

--Evert

 

Great news, right? We hope to give you an update on our progress really soon. Other goals for 2011 include a fruux web application (which is planned to be based on the upcoming CalDAV and CardDAV stack) and an API to allow developers building great services and applications around fruux.

Nov 8 / 12:11pm

fruux pro rollout started

by fruux

We've started rolling out pro accounts to our existing users a few days ago and so far we are pretty pleased with the performance of our billing system. There are still a few minor kinks we are working on right now, but all in all it was a solid rollout.

Interestingly fruux also starts getting popular in certain new places. We've for instance received a direct comment (okay it was a reply to an email from us, but anyway) from a top-level person at a certain company telling us that he already knew fruux and will check it out (Hi!). :-) Additionally we've even got a few sign-ups from people working at this other company with the fruit in the logo (probably caused by our third party promotion - if you are developing software, you should certainly try that, too. We read about it in the Mac Indie Marketing blog).

Now that the rollout of fruux pro started, we'll also start enforcing the free-account limits for existing users in the near future. Honestly we have no final decision yet, but our idea is to limit free accounts to just one "data class" (contacts OR calendars OR bookmarks) and just two Macs. Future support for iOS devices will also be limited to fruux pro accounts. But our current top priority is adding iOS support to pro accounts and not enforcing the limits of free accounts.

Oct 26 / 5:36pm

fruux progress: billing, team, iDevices support

by fruux

We've received some feedback suggesting that there was no progress at fruux since our Oct 3rd blog post. Thats of course not the case, we've constantly updated the previously mentioned blog post since Oct 3rd, but obviously some RSS clients don't show updated posts again and thats why we'll stop updating this old post and instead write new posts every now and then.

Here is a short summary (if you are interested in details, please check the updates below the Oct 3rd blog post) of the tide of events since Oct 3rd:

  • we've ponyed up the upfront costs and heavily scaled up our infrastructure. Thats the reason why fruux runs super stable since Oct 6th, with the exception of a service disruption at Amazon WebServices. Luckily the respective team at Amazon helped us a (on a sunday!) to solve the problem quickly.
  • in the following days we did a lot of research on credit card processing, payment gateways, billing providers and merchant account. We've talked to dozens of old-economy wannabe overlords from banks and companies providing credit card payment gateways until we had to realize that credit card processing is an expensive mess and started implementing our own billing system based on PayPal's API.
  • after an all-nighter on Oct 22th we've finished the implementation of the billing system at about 4am and rolled it out for new signups (1 week free trial / 19 EUR per year). While monitoring signups until about 7am we've also fixed high priority bugs in our billing system and since then it runs pretty smooth. We'll continue to monitor how the system performs for the next couple of days and check if everything works as expected when the first accounts transition from the trial to the paid interval.

That was a short wrap-up of the tide of events between Oct 3rd and Oct 22th.

We're of course not asleep since then. The single most requested feature is iDevices support and please be assured: we here you! :-) We're fruux users ourselves and we want it as badly as you do. We've started internal testing long ago, but due to the lack of resources (time/man power/etc, check the Oct 3rd blog post for details) we didn't exactly meet our self-set goals (progress- and implementation-speed wise). But we are hopefully about to solve this issue. We're in active talks with a developer and potential new team member who'd work solely on iDevices support at fruux, but currently it's to early to share details - we'll hopefully have something to announce soon (we have to solve the involved administrative and business aspects first, before we're able to start actual coding).

We've received suggestions from several users about some kind of early-bird-pricing for existing users and we'll probably have a limited tier of lifetime accounts, but didn't decide on the exact details yet (we're working on it). We're pretty happy with the normal pricing which will be (and already is for new users) 19 EUR per year as mentioned above in the wrap-up. We'll have only two plans: fruux free and fruux pro. fruux free is currently not available for new sign-ups, but we'll relaunch it soon. We'll focus on providing extraordinary reliability and delivering enhancements for our paying user and then start working on the fruux free relaunch (fruux free sounds awkward, maybe we'll rename it to fruux basic or light).

Keep the feedback coming!
You are the single most important (and a very active) part of this whole process!

Oct 25 / 6:05pm

the first orange-settlement ever!

by fruux

Dsc_6020
mymuesli (custom-mixed cereals via internet) recently launched a new product called Oh!Saft (orange subscription via internet) and we joked via Twitter, that their new Oh!Saft logo and our fruux logo look quite similar. Even though the mymuesli team suggested that we aren't harshly competitive (well, maybe we'll also deliver fresh oranges to fruux pro users... you never know!) we of course had to wheedle a test kit out of them. They couldn't reject this proposal and we both wrote history: the first orange-settlement ever!

Today our test kit arrived including a nice juice squeezer and even we didn't read the manual we were able to enjoy a few glasses of fresh orange juice in no time!

Thank you, Stephan @ohsaft! :-)

Oct 3 / 1:13pm

Time to think about the long way we've come with fruux and how to go on...

by fruux

We had severe downtime during the last days and currently our service is also not available, while we are trying to bring the systems back online by implementing certain optimizations. As an immediate action we had to disable new sign-ups a few days ago. We‘d love to grow our user base further, but with our current infrastructure we can‘t even provide our current users with the reliability they deserve. Unfortunately it‘s no technical problem - we could easily add a few more servers to our cloud to handle this capacity problems, however there is no budget for additional servers, but more on that later.

Right now our systems are busy executing these tasks and we're trying to relax while monitoring the whole process which will hopefully allow us to bring the systems -at least in a limited fashion- back online really soon (as in one or two days not weeks). It's one of those typical Sundays, except it is not, because this Sunday will either be our game changer and the beginning of something great or the day where we saw the end of the road in retrospective (If these lines sound familiar, you probably read the excellent blog post by Todd Agullnick, Co-Founder of Xmarks Inc., with a very similar story to ours).

Time to think about how far we‘ve come with fruux.

We started as an entirely bootstrapped student project. Initially we never thought about fruux as a product. We just started developing fruux because we desperately needed such a piece of software ourselves. During this time fruux eventually spread amongst family, friends, fellow students and ultimately people we didn't even knew in person. We started getting tired setting up accounts manually so we finally implemented a self-signup into the application and since then our user base keeps growing at crazy rates which makes it hard for us to constantly scale our infrastructure to keep up with this growth. First and foremost it's hard for us because it's a non-technical issue. We've really learned squeezing every single bit of computing power out of our cloud and whenever we hit conferences and talk with people from the industry they are completely blown away when we tell them how little computing power we actually have, but the time has come where we have to scale up big time to keep up with the load and provide a reliable service. Unfortunately nothing in life is for free...

As many of you know, we are only able to work on fruux in our free-time since we graduated. Our full time jobs help us funding the infrastructure for fruux, but also prevent us from investing serious time into the further development, which is kind of a chicken-egg problem.

The first step towards a solution for this issue is to ensure that we have the resources to scale our infrastructure (i.e. deploy more servers) up to a level where we are able to provide a very reliable service. We calculated that this infrastructure will cost us about 700 EUR (approx. 950 USD) per month, but we are unable to fund this personally and we won‘t be able to fund it through donations or ads, so the only option we have is to generate revenue by actually start charging for our service.

Our idea is to provide paying users prioritized syncing as the first "pro" feature. This way our paying users will always enjoy a reliable fruux. Once we actually start selling subscriptions for "fruux pro" it will also become much easier for us to plan the future development of fruux, implement great major new features, jump ship from our current jobs to full time fruux work and ultimately even hire additional engineers in order to bring the project up to speed. Based on your feedback, we discovered that about 25 EUR (approx. 34 USD) per year should be a fair deal (like paying for one "fruux caffè latte" per month) for our service and this way we would need roughly 400 subscribers to cover the infrastructure costs including related taxes (this pricing is based on your feedback and on a cost per user approach to ensure scalability). If we are able to achieve this number of subscribers, we'll be able to provide you with the most reliable fruux ever and also have an excellent argument when acquiring investors which will allow us to transform fruux into our full time jobs (=devote much more time to the project then we are currently able to do), hire additional engineers and provide you with the kick-ass features you have been waiting for for quite a while now (hint: iDevices support, a webapplication, a developer API, you name it...).

We thought about starting this by setting up a binding sign-up form for "fruux pro" and once 400 of you signed-up we'll setup the new infrastructure and start charging your accounts. If we are unable to convince at least 400 of you, that a reliable fruux is worth paying for, we'll probably have to sit here and wait until the load continues pushing the cloud over capacity and ultimately move on and pull the plug as a last resort, because in it‘s current state the project is neither a pleasure for you (due to the capacity issues) nor for us (because the solution is technically very easy, but not fundable).

We'd love to hear your feedback!


UPDATE 2010-10-03:
We're trying to achieve a "hybrid solution". In order to bring the service back online as quickly (and as reliable) as possible we'll pony up the upfront costs to scale up (at least a bit) right now and then start working on the implementation of the billing infrastructure. Then we'll hopefully be able to convince enough of you to become subscribers so that we are able to stay online (=build a sustainable business) with the additional computing power (and scale up even more). If you feel like supporting us in the meantime, you are happily invited!

UPDATE 2010-10-04:
We're super stoked about your overall positive feedback and the dozens of emails you sent us so far!

The following questions came up multiple times:

1)
Q: Is your pricing final?
A: No. We just calculated what would work to cover costs and also allow us to scale, while estimating a percentage of users we might be able to convince to become actual customers.

2)
Q: Where is the sign-up link?
A: Our first priority is bringing the systems back online (work in progress). Starting tomorrow we'll dive into the ugly paperwork for PCI compliant credit card acceptance and also start implementing the billing system.

UPDATE 2010-10-05:
We're making good progress with the tech part of our challenge. If nothing unexpected happens, we should be back online in a few hours.

UPDATE 2010-10-06:
We're up and running again (@fruux_status).

UPDATE 2010-10-10:
Unfortunately there is a service disruption at Amazon Web Services (our datacenter) causing downtime for fruux. We're working closely with the respective engineering team at Amazon Web Services to resolve this situation. Check @fruux_status for updates.

UPDATE 2010-10-11 #1:
Thanks to the nice guys at Amazon Web Services (who are obviously working like us on Sundays) we are now able to access and migrate our data, so we should be back online really soon. Also we scaled up even more for reliability reasons. Due to the increased costs this however sets us even more under pressure to start generating revenues asap because we don't have the budget to keep the service running at this scale. Check @fruux_status for updates.

UPDATE 2010-10-11 #2:
Initially we were set for a quite Sunday in order to prepare for the paperwork stuff and billing implementation during the coming week, but obviously Murphy's Law struck once again...
Nevertheless we'll work hard during the week to overcome all remaining obstacles on our way to sustainability. We'll keep you posted on the implementation of the billing system, the planned pricing (we're reading all your comments) and the progress of the negotiations with our bank for the credit card merchant account etc.

UPDATE 2010-10-11 #3:
We are up and running again. Thanks a ton to the nice guys at Amazon Web Services for helping us fixing these issues - even yesterday (Sunday) evening! Now back to the billing implementation and getting the necessary contracts for credit card acceptance signed.

UPDATE 2010-10-15 #1:
After a week of negotiations and talks with credit card companies, banks, payment gateway operators, and outsourced billing providers we've come to the conclusion that credit card acceptance is a total mess and utterly expensive. We strongly believe that we shouldn't burn (to much) money just to make money, because then we'd have to charge a higher price for the additional processing costs and involved work. Thats why we've decided to implement with PayPal for the start. We hope to complete this implementation (we're about 50% done now) over the weekend and launch paid accounts for new subscribers starting next week. We'll stop offering a free version of fruux for new users for a while and instead concentrate solely on the paid version and additional features, but we'll relaunch fruux free soon, once we've delivered some major new features to our subscribers. Once we are confident with the payment process, we'll implement it for existing users and allow them to migrate their accounts.

UPDATE 2010-10-15#2:
We aren't entirely sure about the final pricing yet, but we decided on the product structure. The good news is, that we won't offer fruux free, fruux starter, fruux home basic, fruux home premium, fruux business, fruux enterprise and fruux ultimate. Instead we'll just have fruux pro and (soon) fruux free. Pricing will be around 20 € including VAT/sales tax.

UPDATE 2010-10-17:
The bad news is that we didn't manage to complete the implementation of the billing system over the weekend, but the good news is that we've made good progress and shouldn't be a whole lot behind our initial schedule. We'll probably need a few more days, but the implementation will be better (completely automatic account activation, deactivation and renewal based on data from the payment processor), too.

UPDATE 2010-10-22:
We've finally implemented the billing system during the night. At the time being it only applies to new users signing up with fruux. We'll evaluate the technical aspects for the next couple of days and also keep an eye on the signup metrics. Our current pricing model for this test is one week free trial and then 19 € per year. About one hour until sunrise, time for a short nap... :-)

Filed under  //  business model   freemium   fruux   pro   revenue   subscription   sustainable