Juvely, Mark II

Posted by Luca on June 4th

Yay, at last exams are over, so now I can begin work on Juvely again! Well, not entirely true, as Im off to do some voluntary work for a week, but when I return its full speed ahead! Last week James and I had a chat and decided the best way for us to work would be implement the code and design seperately, until we are definate on what features we want, so yesterday I started work…

Originally we decided to create Juvely using the CakePHP framework because James didn’t know Rails much and we both planned to do the programming, in the end though it was me stuck doing it, and I grew to like CakePHP quite well. It is a nice framework, and clearly a lot of hard work has gone into it, but there are two things I don’t really like about it: PHP is an ugly language, and for some reason on our server is sssllloowww… Keepsy (written in Ruby on Rails) performs a lot more processing and intensive database queries than Juvely but seems a lot faster. Its not as if I have got it setup wrongly, they are both running as FastCGI applications under Lighttpd - you don’t get faster than that!

So anyway, yesterday I begin Juvely Mark II, in Rails. Just to give you an example of how I feel PHP is ugly, here are two identical statements in CakePHP then Rails. It is used to link the Tickets and TicketMessages models.


At the moment there is nothing really to show as I have only worked on it for about 5 hours, but I hope to add a much more Web 2.0 interface (I recently came across MoveMe, it has a really nice design but doesn’t look cheesy), and maybe even Google Gears integeration for offline usage.

Anyway, watch this space! For now here is a screenshot of what it looks like at the moment (not good…):

(P.S. This is also my first time posting with Wordpress 3, it looks very nice although it took ages for me to figure out how to attach an image as the form the ‘Insert To Post’ link is on doesn’t render correctly on Opera…)

Roadmap

Posted by James on April 21st

My first post in a long while. I’ve not been away, I’m actually working really hard. I’ll give you a little update of what I’ve been up to and then I’ll fill you in on where we are going with our products.

I’ve decided that it would be best for me to leave my current university and apply for another. My reason is that I’ve found passion in my life. I’m not talking about with my girlfriend but with design. I’ve completely migrated from my programming routes and gone full time into design. And all I can say is that I absolutely love it. I’ve received an unconditional offer from another university to study “Design for Digital Media“. So it feels I’ve pretty much wasted the last two years of my education I’ve learned a lot of very important life lessons and have really realised where I want to take my career. Now that I’m an official university drop out until september, I’ll be freelancing full time (which is working out quite nicely) and devoting all other spare time to work with our apps!

..So what’s happening then?

Keepsy

Firstly we want to launch Keepsy (the concept of the idea is up and running). The reason behind this is fairly simple, it’s a great little application. It’s really handy and I’ve really taken to it and think a lot of people could benefit from its simplicity. I’ve got some great design updates planned for it, streamlining the user interface and experience, removing bloat and unnecessary UI functionality. Here’s the progress with the current design. (Yep I’m aware that the little photos are exactly the same as twitter, it’s just a concept).

Theres a couple of possible paths we could take with Keepsy. We could launch it as a beta-super-secret-invite-only app, hopefully create some buzz and gather a following. However, we are leaning towards just fully releasing it into the wild. This is still a decision to be made. We hope to have it all done and dusted as soon as possible, most likely a couple of weeks.

Juvely

We have got some great plans (theres a surprise?). However, we are going to put this on hold (yet again) until summer. I’ll be heading to Exeter for a week (to stay with Luca) to finally get it all done and dusted. It’s been an extremely long time, we’re still extremely passionate about the app, it’s just restraints that have held us back. It’s funny to think this all started when I was 16.

Deer & Spiller

This will become the registered parent company for all of our future applications - it’ll be our blog as well. The design is pretty much finished, it just needs to be coded and integrated with wordpress. Once we’ve got the site fully launched, we’ll register the business, hopefully getting everything sorted out (bank, contracts etc) then I hope to write a series of articles helping other young students go about setting up an online business. As well as post tutorials and any other bits and bobs we’re working on.

I’m not a fan of update posts but I thought, its been a while, the loyal readers (yes all 7 of you) might be interested to know where we stand.

Peace out!

We’ve moved

Posted by Luca on March 28th

This time last week I planned on testing a new server. Now we are running on that new server! As I said in my post then I was thinking of going with SliceHost, well (sorry guys), but in the end we decided to go with Linode. Everything has been migrated over and it is purring along! Read on to find out why…

Before I had even heard of Linode there was one thing I just didn’t like about SliceHost: they required you to pay for 3 months in advance, and they don’t appear to offer a money back guarantee. This may not sound very major, but to us it was the deciding factor. Other than this they are very evenly matched. So onto what I believe to be the number one rule of business: make customers believe you service is risk free by providing a trial and/or refund policy. I could go on all day about this, but ill get back to the main point… :P

Anyway, Linode seemed to put you more in control by providing you with the nitty gritty details such as deciding how to setup your partitions and all other stuff us closet Linux users dream about so I went with them…. Another factor was that to me they seemed to be innovating more, over the past few months they had a number of new developments that looked good, including a private virtual LAN so you could transfer data for free between your ‘nodes’ (what they call a machine instance). Not that we need it yet, but if we ever need more than one machine its good to know.

A point where SliceHost wins though is that they are currently using Xen virtualisation which is supposed to be faster than UML (which Linode are using), but Linode are in the process of beta-testing their Xen system. Linode also provide slightly more resources, but we would be fine on the minimum that Slicehost provide so that wasn’t really a concern.

The setup process was fairly straight forward, it took about an hour for my account to be initially activated at which point I recieved an email saying my account was ready. Upon logging in I was asked where I wanted my node to be situated (Linode have a choice of three datacentres). I had read in the forum about ports being blocked in the Atlanta datacentre, so I avoided that and chose the Dallas one. After this I was prompted to chose my Linux distribution and setup partitions and a couple of minutes later I was sitting at the terminal of my shiny new server.

I chose Ubuntu Gutsy (7.10) as I was familar with this and then procedded to set everything up. I won’t bore you with the details, but the hardest bit was the mail server. Slicehost and Linode both have wikis that have a wealth of information, so look there if you are interested. Here is a list of packages I used:

Webserver - lighttpd
Database - MySQL, phpMyAdmin
Mail - Postfix, Courier IMAP, Spam Assassin, Super Secret Email Managing Thingy™ (with added pzzzzaazzzzz!) - our frontend to the awful Postfix configuration, RoundCube Webmail
Firewall - IPTables
And a load of custom backup and management stuff…

I had a few niggles with some of the Ubuntu packages so had to compile a couple of bits from source. The lighttpd package was out of date and had a major security flaw, so I built that, and the ImageMagick (for Keepsy previews) from Ubuntu didn’t work so I built the latest version.

I changed the backup script a bit so it properly backup the MySQL databases (before the actual files were copied, but I realised this was flawed as data is held in memory before being flushed to disk), as such instead I used mysqldump which dumps your database in SQL format, this is also much more efficient (we now store about a meg of SQL data - which compresses easily - rather than 30 Mb of MySQL databases - which doesn’t compress well). I was also quite supprised that the final system only uses around 800 Mb, so I figured we might as well put Amazon S3 to good use and create full system backups to easily restore in the case of problems. We just used tar set to exclude certain directories, it ended up create a 200 Mb backup!

Now onto performance. In my last post I said there was nothing wrong with MediaTemple. Well, sorry guys, but compared to our Linode setup, yours was poor. Everything just seem ssssooooo much faster now! We have plans to make it even better though, if you follow my keepsies you may have noticed I added cfis : Making Rails Go Vroom, a post about making Rails applications run faster - some quick initial tests showed that a few changes here and there would make a huge difference! Watch this space!

If you have any questions about our setup feel free to leave a comment!

Next Page »