

Tell HN: I just open-sourced the e-mail client I spent 2 years of my life on - waseemsadiq
https://github.com/waseems/inbox2_desktop
If you are interested in the internals of such a piece of software, check out the code. or even better fork it and fix the bugs :-)<p>Some info:
- Pretty decent amount of press: http://www.inbox2.com/press
- About 100K downloads
- Built by 1 dev, 1 part-time interaction dev and 1 designer, all pretty much during the evenings and weekends
- Beautifully looking, but nevertheless a commercial failure because nobody will pay for email (now paying for <i>data</i> is a whole other story)
- Learned more while building this thing then in all my previous ~10 years of consulting combined
======
e1ven
It looks like this was forked from (or to) an iPad version? It's probably a
lot easier to sell there, granted.

It looks like a nice client- What are it's distinguishing features? What needs
help? What are your intentions now- To throw it out there, or keep building
it?

Are there binaries?

How are you handling the Messages in-memory? I'm looking for a mail client
that can handle my multi-hundred-thousand email inbox, but everyone except
Mulberry tends to have a problem ;)

Looks really sharp. Kinda reminds me of FF with the tabs at the top.

~~~
feydr
mutt

~~~
taken11
... is really slow for opening large mailboxes, are you using some trick to
make it faster? mutt alone just scans all mails before displaying anything.
thats not a good idea for 100k+ emails

~~~
jamespo
there's the mutt header_cache directive which can help

although if you have 100k+ emails in a folder, particularly a non-archive
folder I'd suggest you're doing it wrong

~~~
pyre
header_cache only works with Maildir and IMAP. If he's using Maildir for a
mailbox w/ 100k+ emails, then he may start running into filesystem
limitations.

------
mrschwabe
Impressive looking product. Your efforts shine through. Great work man.

Now I will ask the inevitable question: why did you open source it?

~~~
waseemsadiq
Well we could build 'a' business out of it, but we realized it wouldn't be a
scalable business. For a couple of reasons:

* We tried to do to much (classic mistake -> email + social + contacts...)

* There are way too many ways that people use e-mail (folders, labels, rules, sorting, etc, etc)

* Because there are too many ways you can not create a commercially viable alternative that fits a large nr. of users

Truth be told, we didn't even _want_ to create an e-mail client but rather
wanted to fix e-mail workflow. We never ended up being able to do that due to
forementioned reasons. We intend to rectify that in a couple of our other
products.

We still see a need (and people actually ask for it) for a unified
e-mail/social inbox. So we thought to have the open-source community have a go
at it.

~~~
eykanal
Excellent answer, and I love your thought process. Why have all your work go
to waste _not_ publishing it? This way, you don't have to worry about the
inevitable "Why doesn't it do <random fringe feature>? I NEED that in my
workflow!", you still get good recognition in the field, and all us users
benefit from another good email client.

------
biot
From the blog:

    
    
      > For the last one week, a considerable number of people who
      > have downloaded the Inbox2 app have had issues.
      >
      > The main reason for this was that our infrastructure was not
      > scaling fast enough at the rate the app was being downloaded. 
    

Why does an email client depend on your infrastructure?

~~~
waseemsadiq
Actually the client doesn't but we also have another version which runs in the
cloud. Old versions of the ipad app were hooked up to that, newer versions are
completely stand alone so that has also changed in the mean while... hey what
can I say, we move fast :-)

~~~
biot
What was the benefit of such an arrangement? My email server is already "in
the cloud" so to speak. As it's a downloaded app, what value was added from a
man in the middle, as it were?

~~~
waseemsadiq
Well the cloud is always on and online. Additionally we want to work with
metadata which we want to store in the cloud and is not supported by for ex.
the IMAP protocol. I can't go into to much details regarding our product
roadmap but having a cloud backend really helps.

Another concrete case is new email notifications. When our ipad is not the
active app we simply are not able to inform you when new mail arrives (due to
apple background app restrictions). With a client/cloud hybrid we can do the
heavy lifting on the client and use the cloud for example to send
notifications when new mail arrives.

~~~
biot
The cloud is always on and online? I don't mean to be argumentative, but your
cloud apparently couldn't handle the load. Downloading an email client
shouldn't require a "hit by a bus" analysis of the app's creators.

An app can store metadata locally; no need to have that on your servers. No
doubt you can do some interesting things by having a server-side
infrastructure, but I'm concerned about the security implications. If your
server gets hacked, an attacker would have access to all of my email. Not to
mention that you would have access to all of my email and why should I trust
you?

~~~
brown9-2
Pure speculation but it kind of sounds like they want to be able to mine some
of that data.

~~~
illumen
It also gives them an extra way to lock users in.

------
achompas
Congrats on creating such a nice client. And in C#, no less!

Your title implies that your hand might've been forced here. Was that the
case? Would you have preferred to keep it closed?

------
philipthrasher
Could it be? Someone has finally made an aesthetically pleasing Windows App?

Thank you for being design conscious. If only more developers like you existed
on that platform.

~~~
damoncali
I had to look twice to realize it wasn't an OSX app. Very well done.

~~~
calloc
I am glad I wasn't the only one that thought that.

------
qrush
What license is this under? :(

~~~
afsgdhfj
Looks like public-domain now, since no license mentioned:
<http://en.wikipedia.org/wiki/Public_domain>

~~~
warp
When you write code, you automatically have copyright on it (in most
countries). Failing to include a copyright notice or including a license text
does not make your work fall into the public domain.

As far as I can tell this code is not currently open source. The only
permissions given are: "now fork it, fix it and send pull requests". Which
omits some important permissions, without which this cannot be called open
source.

~~~
sadfasdfads
The author publicly announced it was open source via HN.

"Open-source software is software whose source code is published and made
available to the public, enabling anyone to copy, modify and redistribute the
source code without paying royalties or fees.[19]"
<http://en.wikipedia.org/wiki/Open_source>

"Works are in the public domain if the intellectual property rights have
expired,[1] if the intellectual property rights are forfeited,[2] or if they
are not covered by intellectual property rights at all."
<http://en.wikipedia.org/wiki/Public_domain>

He put it on GitHub, and he announced it was Open Source on HN.

"There's no license in this case and you cannot claim any intellectual
property of the code. It would be the same if you uploaded the content on your
own site without providing any license. According to the terms:

We claim no intellectual property rights over the material you provide to the
Service. Your profile and materials uploaded remain yours. However, by setting
your pages to be viewed publicly, you agree to allow others to view your
Content. By setting your repositories to be viewed publicly, you agree to
allow others to view and fork your repositories."
[http://stackoverflow.com/questions/4007674/whats-the-
default...](http://stackoverflow.com/questions/4007674/whats-the-default-
license-of-code-published-at-github)

So, I was wrong. He has copyright.

~~~
mbreese
"Open source" isn't a legal term...

------
websymphony
Kudos to you for taking such a brave decision. Can we know the story behind
it?

~~~
nmcfarl
Looks like there is a little bit of the story here:
<http://blog.inbox2.com/we-are-launching-a-new-product>

------
krmmalik
PS. Just in case you're all wondering, their company name "Tabdelee" is Urdu
for "change" as in 'We want to change the world '

~~~
waseemsadiq
nice catch :-)

~~~
krmmalik
and suddenly HN becomes a cartel of Urdu speakers ;-)

------
joelthelion
Does this work on Linux with Mono?

------
kevinherron
Anybody want to build and host the binary somewhere? I tried to build in
Visual C# Express 2010 and was unsuccessful...

~~~
consonaut
Use the installer found at
[https://github.com/waseems/inbox2_desktop/tree/master/Code/C...](https://github.com/waseems/inbox2_desktop/tree/master/Code/Client/Installer)

~~~
waseemsadiq
Hah didn't even know that was in there! :-)

~~~
consonaut
Only thing I can say so far is that it looks nice ;-) Appreciate the work,
I'll try to contribute if I get the chance.

------
donniefitz2
This is awesome. I've been looking for something like this for Windows for a
long time. You put some serious effort into this and it's beautiful.

FYI - for those looking to run this: open the non-64 bit solution, build it,
then go to the installer directory and run the windows installer. Works really
nicely.

------
a3_nm
The github page has a screenshot, but no features list. It could be a good
idea to add one. Right now, I still don't have any idea of what makes your
email client different from any other, and why I would want to use it.

------
krmmalik
Just got really excited about this and tried it on my iPad. I managed to set
the accounts up no problem but on downloading data it just keeps bombing out
on me, and now i cant get back into the app.

~~~
waseemsadiq
We just released a new version to the app store like 15 minutes ago, try
again. Could you send me a crash report to waseem@inbox2.com otherwise? thx

~~~
krmmalik
How do i send you a crash report? - Sorry im rather average when it comes to
iOS

I tried the new update, its definitely a little more stable but it's still
bombing out on me :(

~~~
waseemsadiq
Follow the instructions on this page:
[https://culturedcode.com/things/wiki/index.php/Sending_crash...](https://culturedcode.com/things/wiki/index.php/Sending_crash_reports_from_iPad_\(FAQ\))
but e-mail them to waseem@inbox2.com

Thanks!

------
suhastech
He started writing this just to open source it...

<http://news.ycombinator.com/threads?id=waseemsadiq>

Cool!

~~~
waseemsadiq
Well not entirely true, that other post is actually about a experimental gmail
plugin that I made. It hooked up in gmail and added something that we call the
people centric inbox, never released tho

------
chriseidhof
I also wondered about the story. Looks like they made an iPad version instead:
<http://www.inbox2.com>

------
vandahm
This looks amazing, and I'm looking forward to compiling and running it on my
Windows machine later today. I'm accustomed to simple and elegant apps like
Sparrow and Mail.app on OS X and get really frustrated when I have to use
clunky Windows mail readers. This looks like a huge step forward in many ways.
Great job, and thanks for sharing.

------
r4vik
Looks great, maybe you can monetise it by bundling some add on web services?
xobni / rapportive / cloud backup & search?

------
nihilius
[http://www.virustotal.com/file-
scan/report.html?id=0a425d193...](http://www.virustotal.com/file-
scan/report.html?id=0a425d193470d86f7a5d450d81e750330e56a6bea1946847b0dc6f71eca9d539-1318019770)

Jiangmin 13.0.900 2011.10.07 Adware/Agent.gmc

False Scan or Thread?

~~~
waseemsadiq
Hmm build the installer yourself if you don't trust it, beauty of open source
:-)

Interesting though...

~~~
rcfox
Building it yourself doesn't protect you from malicious code. Some better
advice would be to review the code yourself before building.

------
suhastech
I think I was using your inbox2.com web version. I was a fan of that. I know,
this might be too much to ask, but can you open source that too?

The thing is, I've have never quite learnt to parse raw mime email. I don't
quite get the million RFC rules imposed.

And great work!

------
jstepien
Could we a have a binary version, please? It would definitely help evaluating
your project.

~~~
waseemsadiq
I will compile an installer version later. Keep an eye on the github page for
updates.

------
itsnotvalid
I used it may be once when it was in beta and then never touched. The thing
is, C# as well as Java have poor startup time which becomes the biggest
problem of using any of such applications.

I don't always have a SSD on my computers.

------
Blunt
First of all, Thank you for the contribution to the OSS community but I just
have to ask one question. With all the language wars and what not:

1\. This is written in C#, correct? 2\. Two full years of your life - do you
literally mean 40+ Hours/week?

If this took two full years as in 40hours/week or working on it full time, I'm
shocked it took two years. SMTP, POP3, and IMAPv4 are exceedingly simple
protocols and the UI just seems to look like standard controls, no custom UI
elements. Just had to ask.

I know I could probably whip together a decent email client in C++ within a
couple months from scratch and maybe a week or two if I used any number of
libraries out there.

~~~
waseemsadiq
1\. correct 2\. not as a paying fulltime job, but still probably around 30-40
hours a week 3\. good luck with that, I also thought I could whip up the first
version in 3 months... :-) Its not writing the code that takes so damn long
its getting the machine and the user experience/expectance aligned.

~~~
teyc
thank you for being so honest.

A full answer would take a whole book, but could you outline what part of the
process was unwieldy, and what you had to rewrite as you learned more about
the user experience?

In particular, since you are using WPF, would you have altered your
prototyping process so that it was more user experience focussed?

~~~
waseemsadiq
I will probably do a full blog post today on all the questions asked here then
submit that to HN

------
firefoxman1
Wow, as soon as I saw the screenshot I thought: "Beautiful." It kind of
reminds me of the Mozilla Raindrop project. That is just a really great UI.

------
kvnn
The screenshot looks amazing. You should be proud! Well done!

Are you planning to make a profit? Did you always intend to open source it?

------
Soliah
Just browsing the code on Github I noticed that there aren't any unit tests.
I'd be interested in seeing what type of testing you did.

------
alimbada
My first thought was "oh, another e-mail client", but it has some very nifty
features. Well done.

Sent a pull request, by the way.

------
emp_
98 compilation errors out of the box, this is going to be a long afternoon,
but looks like it's worth it!

~~~
waseemsadiq
Actually make sure that you choose the x86 in the configuration manager
dropdown and everything goes away.

Sorry, should have mentioned it in the README, will update later

~~~
donniefitz2
Yeah, don't use the 64bit. The non-64 worked great for me. After that go to
the installer directory and run the installer.

------
alanh
One of the most Mac-like Windows apps I have ever seen, barring iTunes &
Safari, of course.

~~~
efsavage
I'm not a big fan of OSX, but I would never be so cruel to it to say that
iTunes is "Mac like".

------
qasar
Good work Waseem/Khuram. Inbox2 going to live on for the iPad? Moving into
500?

~~~
waseemsadiq
thx, yes and yes :-)

------
mcantelon
A good addition to the readme might be to say what operating system it's for.

------
malux85
Swish. Very sexy. I love it

------
AmazingBytecode
Thank you. I admire your contribution to the public. :)

------
tomkinstinch
Looks good! It reminds me of Sparrow for Mac a bit.

------
hm2k
So where do I download the binary for windows?

~~~
consonaut
I'll reply here as well, there is an installer in the repo.
[https://github.com/waseems/inbox2_desktop/tree/master/Code/C...](https://github.com/waseems/inbox2_desktop/tree/master/Code/Client/Installer)

------
nalidixic
Any blog links?

~~~
egiva
"Second" on the desire for some blog links - or other links to info on your
work, process, project info, etc.

------
gtrak
is the ipad port also in C#? How do you make something so native-looking?

~~~
waseemsadiq
Its native objective-c / built in xcode

------
frankydp
Beautiful. Big fan.

