This allows my web layer to have no project reference to my data layer, and forces my developers to explicitly call the logic/service layers every time they want some data.
I totally feel your pain for Linq. I'm a .Net guy myself and when we went full time on our startup we went with C# and I vowed to never fall into the traps and horrible mistakes I saw at past jobs using Linq2Sql and EF. Before POCO was available for EF I was masking the entities with Interfaces so that the web layer had no way to make 'extra queries'. I'd love to learn more about how you used T4/POCO/EF together to clean up this constant problem.
I've also wanted an excuse to use Unity for something... haven't had the chance yet.
Yip for sure. It's too much to explain in a forum, but I've been meaning to post an article on how I've been using these technologies together. If anybody else is keen, just post a comment on the blog and then you'll be alerted when it's ready.
Your story is really inspiring and it's a nice 24h achievement.
How did you select the vital functionalities? It must be hard to release only the minimum and to not add any "nice to have" functionality.
Thanks. Selecting the vital functions was difficult. But actually not as difficult as a "proper" development process. We didn't have to consult a big team of people with divergent interests, we didn't have any research on customer preference to analyze. There were just two people, 24 hours (greatly limits what you can do) and a relatively clear view of the end product (a map that shows the location of people whose FB status is single).
Sure, we could have gone over the 24hr limit and do a few more "nice to have" functions. After all, this is not a commercial contracts where the time constraint is real. But we stuck to our plan, put our pride aside and just accepted that the product will look a bit bit crusty (and people will tell us).
So far, no regrets - while we feel a bit embarrassed when people give us negative feedback, at least the app is out there and criticisms will only make it better.
I left a comment already on the post, but negative feedback is bound to happen, the best part is that you can update and iterate based on the feedback since you got it out there so quickly.
10 comments
[ 3.2 ms ] story [ 38.1 ms ] threadThis allows my web layer to have no project reference to my data layer, and forces my developers to explicitly call the logic/service layers every time they want some data.
I totally feel your pain for Linq. I'm a .Net guy myself and when we went full time on our startup we went with C# and I vowed to never fall into the traps and horrible mistakes I saw at past jobs using Linq2Sql and EF. Before POCO was available for EF I was masking the entities with Interfaces so that the web layer had no way to make 'extra queries'. I'd love to learn more about how you used T4/POCO/EF together to clean up this constant problem.
I've also wanted an excuse to use Unity for something... haven't had the chance yet.
Sure, we could have gone over the 24hr limit and do a few more "nice to have" functions. After all, this is not a commercial contracts where the time constraint is real. But we stuck to our plan, put our pride aside and just accepted that the product will look a bit bit crusty (and people will tell us).
So far, no regrets - while we feel a bit embarrassed when people give us negative feedback, at least the app is out there and criticisms will only make it better.
Don't be embarrassed. ;)