Recall a certain blog post about Expensify and .NET? Odds are you stopped reading about five paragraphs in, and possibly missed how “.NET on your resume isn’t an instant showstopper” only that it will “raise questions during the phone screen”. Similarly, you might have missed that .NET is the “only choice” for Windows Phone 7 development. Well at risk of dredging up old grievances, I’m happy to announce:
Expensify is Hiring a .NET Programmer!
(Windows Phone coders please apply)
As for what we’re building, it’s no secret: we’ve got a cross-platform mobile layer that needs porting to WP7. It currently works on Android and BlackBerry, and we’re about to launch an iPhone version. We’re thinking of open-sourcing it if there’s adequate interest; leave a comment below if that appeals to you. Either way please check out our Elance post for complete details, or just read on:
Port Expensify cross-platform layer to Windows Phone 7
Hello! Expensify has apps for iPhone, Android, BlackBerry, and webOS. A little known fact is that we built our own cross-platform layer, such that we have “write once run everywhere” on these platforms — using native controls. Your mission, should you choose to accept it, is to port this platform to Windows Phone 7.
I somewhat famously blogged about how much I like .NET for Windows Phone, so I’m very excited to start on this project!
It works like this on all other platforms, so we need you to build the WP7 equivalent:
- However, some JS functions are “non-blocking”, namely network calls, camera actions, and GPS queries. These should return immediately and be processed in another thread (or even by kicking off an external app and waiting for a response). When they complete, like UI events, the callback should come from the one single JS thread.
- Persistent storage is currently very simple, using flat files on the file system. (Typically writing and reading JSON files.)
We are looking for a long-term contract, ideally with the opportunity to hire on-site in SF if all goes well. (Remote hiring or just remote long-term contract is also fine.) Accordingly, we prefer individuals over teams — especially individuals who like what’s written here: https://www.expensify.com/jobs/need I should also mention that if you’d like to skip the contract and go immediately into hiring talks, that’s fantastic too.
This is a big project, so I’d recommend we split it up as follows:
1) Develop proof of concept. It is a standalone app executing in the emulator that instantiates a JS engine that loads a “hello world” file, which calls a single “alert” function to pop open an alert box. For simplicity, please include a “fixed bid” for this first deliverable, along with an hourly rate that we’ll switch to for future milestones.
2) With proof of concept in hand, flesh out the remaining UI controls. It includes what you’d expect — text, number, date picker, checkboxes, images, etc. A complete specification will be provided; if you prefer we can also handle this second milestone as a fixed bid.
3) Add networking and camera. Historically this is the part that gets hard, as for some reason HTTPS support on every single other platform has been dicey — especially when uploading binary images. This was true for iPhone, Android, BlackBerry, and webOS, so I expect it’ll be true for WP7 as well. Accordingly, I suggest we switch to an hourly rate for this.
4) Release to the Windows Marketplace for Mobile and interface directly with uses to diagnose and resolve issues experienced in the field.
How does this sound? Please let me know, I look forward to talking soon!
Founder and CEO of Expensify
Anyway, I look forward to hearing your cogent, well-considered comments below. Thanks!