Archive for January, 2009

Invi-what?

Friday, January 30th, 2009

Ginipic no longer requires an invitation! After going through our private Alpha and private Beta stages, today we’ve finally made Ginipic available to the general public. We feel confident enough in our application and infrastructure to allow anyone to download it and start searching for images in a way they never did. Users will still be able to invite their friends from the app through the invite screen, which will instantly send their friends an invite email with download links.

You’re still here? Go download it now from our download page! We hope that the still-not-so-short-but-rather-long installation (read Why we stopped using the Microsoft .NET Framework 3.5 SP1 Client Profile to understand why) won’t make users despair in the middle and allow them to enjoy everything that Ginipic offers.

New users – have any comments/suggestions/ideas? Post them in the comments below, on our feedback page or contact us directly. We’d love to hear what you think.

Happy Ginipicking!
The Ginipic Team

Why we stopped using the Microsoft .NET Framework 3.5 SP1 Client Profile

Wednesday, January 28th, 2009

Ginipic 1.2 uses the Microsoft .NET Framework 3.5 SP1. It’s mainly built with WPF, and SP1 was an important update to WPF. The problem is that .NET 3.5 SP1’s installation isn’t light, and on some scenarios it needs to download dozens of MBs before installing (not to mention installation time). To simplify this process, Microsoft released the .NET 3.5 SP1 Client Profile, which is a subset of the complete framework that only contains what most client applications need. Naturally we were thrilled with the idea of a compact .NET installation, that is light-weight and installs faster.

We initially released Ginipic with the Client Profile, but have now switched back to the full 3.5 SP1 installation. This is why:

  • The biggest problem with the Client Profile is it’s installation and more specifically with it’s progress indication. The installer’s progress is very inaccurate, it hangs for a long time at around 40% and just “plays dead”. This made some users kill the installation in the middle (because they thought it was hanging) and forget all about Ginipic. Obviously this was unacceptable and caused us to lose users. Maybe if the installation was a bit more informative and said what it was doing, this wouldn’t have happened.
  • Installation GUI – what’s up with that? Why does the Client Profile’s installation has to look so funky and weird (colors, text)? Although it can be configured through Deployment.xml, it still looks strange and scares users (“What is this profile thing that’s being installed? I just wanted to use Ginipic”). And what’s the deal with the scary PREVIEW title? Does this mean that this isn’t an official release? Is it some kind of a beta installation? Is it only a preview of the “whole” client profile? Not a very good name.
  • For some reason the Client Profile’s installation requires a reboot after completing on some machines and configurations. Oddly, on the exact same machine the full .NET 3.5 SP1 installation doesn’t require a reboot. So what, now we have to punish the users because we chose to use the Client Profile? We’ve had situations where users didn’t use Ginipic for days after installation, only because they didn’t want to restart their machine. We also tried to suppress reboot on those machines and just run Ginipic after installation completes. Yeah, that didn’t work… (Unhandled MethodNotFoudExceptions)
  • We have a dependency on System.Web. It’s not your average HttpUtility usages to encode and decode URLs (we already opened System.Web with Red Gate’s .NET Reflector, formerly Lutz Roeder’s, and copied HttpUtility out to our own util to remove the dependency) because we’re using XmlRpc (which depends on System.Web) for some of the providers, and refactoring it out was out of the question. We actually managed to solve this problem by simply including System.Web.dll, 5MB (!!!!), in our setup. This isn’t an ideal solution, but it worked.
  • The final reason that made us drop the Client Profile was its effectiveness. Since it can only be installed on machines that aren’t running any version of the .NET Framework, it’s only relevant for fresh, out-of-the-box, Win XP SP2 machines (Vista ships with .NET 3.0). Having to go through all of the above trouble only to make things easier for a small part of our users (one can debate on how small that group really is) just isn’t worth it.

So, what did we do? We switched back to the full installation. Because we wanted to reduce the amout of clicks needed throughout our installation, we used the full installation with the /passive switch, which only reports progress and doesn’t ask any questions. As with the Client Profile, this mode of the full package reports misleading and inconsistent progress, and gets us nowhere. So we finally decided to run the full package as it is, with it’s  License dialog, Progress dialog and Finish dialog. Although this requires more clicks from the user and his attention, at least he knows what’s happening, the download speed and size, and overall progress.

We really hope that this will help us save those lost-due-to-a-bad-and-long-installation users. For the future:

  • Waiting anxiously for Microsoft to release .NET 3.5 SP1 as a Windows Update (Still on for Q1 2009?).
  • Hoping that the next version of the Client Profile’s installation is more friendly and smooth.

We’ve been reviewed by KillerStartups!

Monday, January 26th, 2009

KillerStartups just posted a great review of Ginipic. Check it out!

Say Hello to http://www.ginipic.com!

Saturday, January 24th, 2009

Finally, after a lot of hard work, our website is finally up. We’ve been working very hard on it over the past few weeks, and just completed transferring it from DreamHost to Amazon’s Elastic Cloud (EC2). In addition, we officially started our semi-public Beta stage, and are now starting to invite new users to use the application, giving each user 15 invitations he can send out. Up until now we only ran a private Alpha and private Beta groups. We feel that Ginipic is ready for a larger audience, and hope that the next few weeks will bring us many more users, and more importantly – feedback. Please share your thought and comments wherever you want – on our feedback page, on this blog, or contact us directly.

We encourage you to participate in our semi-public Beta. Click here to request an invitation and we’ll respond quickly.

We’re glad and excited to be up and running after almost a year of hard work, and we hope you’ll enjoy it. Looking forward to hearing from you,

The Ginipic Team


© 2009 Ginipic Ltd.