Hanalei, Hawaii Tuesday, February 09, 2010

MVC Storefront: What's Next With Episode 15

The application is growing and I'm piling in the little changes here and there that turn a prototype into a living, breathing application. I've recorded all of it - but now it's time to take a good long look at what I've done so far and see if it has legs.

The application is growing and I'm piling in the little changes here and there that turn a prototype into a living, breathing application. I've recorded all of it - but now it's time to take a good long look at what I've done so far and see if it has legs. Specifically: it's time for a Peer Review/Refactor session.

Hurt Me
Building any software application is an exercise is bi-polar craziness. One day things are clicking and you're on your way to making the next [ReallyBigThing], the next you feel like a over-caffeinated tweaker who's about to get publicly humiliated :). Not that I've felt that way or anything...3yr_old_pvp

The one thing that can keep you on the right track is to run the Peer Review gauntlet, and let people you respect do their best to explode your application. We've all been through it and if you can keep the right attitude through it all, your application will be the better for it.

The trick is to find somebody you trust and who will let you go when you cry Uncle.

Ayende Is Very, Very Tall
If you've never met the man, you'd swear there were two of him in there. He's graciously accepted my request to help me refactor what I've done so far, and I've told him to have at it - completely. I'm recording the whole deal and it should be interesting. Normally I try to "not make the big guy angry" but in this case I'm going to challenge him at every step - if only because I want to make sure we don't turn this application into TheoryWare :).

I'm working with him on Thursday, and hoping to get the episode turned out on Friday, so stay tuned!

Why No Episodes Recently?
I'm "filling in the blanks" right now and I'm recording all of it. It's mundane, to say the least - adding in User management stuff, adding test users, filling out Membership, buffing out Basket pages, etc.

I know this is of interest to many people and I'll make sure I capture it all. To others it's boring stuff.

That's what I've been doing in since I want Ayende to see more of an application then what we have now.


Chad Myers - June 24, 2008 -

Cool stuff. I've been trying to keep up with all this and it's really good from what I've seen so far (and I have every reason to believe the whole series is just as good).

Really looking forward to the refactoring.

Just out of curiosity, why would you think Ayende would turn it into 'TheoryWare'?

Rob Conery - June 25, 2008 -

I think it can happen to anyone :) and it's a good balance to have. Every application bends rules and in the same way I don't want this to be "another MS Northwind Demo" I also don't want it to read like a text book.

I hope that remark didn't come off too harshly - it was also a bit of a joke too :).

Erik - June 25, 2008 -

What's with the screenshot? o.O

Bas - June 25, 2008 -

Will you also let Ayende use his resharper tool?

I think the use it will speed up the refactoring work significantly.

kewlio - June 25, 2008 -

ur projekt r teh sux! needz flaming icons! needz flashing scrolling markeez! that makez it 133t!

(That's what you get for putting up a screenshot of WoW...)

Chris - June 25, 2008 -

Over the last three days I've started following this series. I like it so far.

However you mentioned Agile. Is there a list of todos we can see and add too??

Can I propose letting the public order the priorities?

I don't want you being the only one throwing the curve ball here.

John McAlrooney - June 25, 2008 -

You REALLY should be focusing on SubSonic. This is from YOUR blog:

"my job will be to build out SubSonic as the "sweetness" on top of ASP.NET and (more notably) the new MVC platform. SubSonic will be the convention-driven toolset for Microsoft's new MVC framework."

It really pisses me off that you AND Microsoft are bailing on your promise to the community. A year in the making and SubSonic 2.1 - if it ever gets released - is going to have Migrations - oooh - big deal. A year for that?

Jamie - June 25, 2008 -

And then on the other hand there are those of us who could care less about SubSonic and really like what you're doing with MVC...

So, six of one, half a dozen of the other - damned if you do, damned if you don't - that sort of thing.

Rob Conery - June 25, 2008 -

@John McAlrooney: It's amazing what people think they have the right to tell me. For what it's worth: code.google.com/.../list

If you can count that high, perhaps you can see Eric and I are absolutely CRANKING in the changesets. I checked in 6 yesterday, with a total of 11 bug fixes. I also managed to work on SubSonic 3.0.

You may want to know WTF you're talking about before you call me out. I do a lot, every day, for you and the community. If it pisses you off, feel free to go away.

Rob Conery - June 25, 2008 -

LOL you know, John, aren't you the guy who called me the "Potsie of coding" and a "blogger for hire": kohari.org/.../this-is-why-we-

Guess i have to get used to people like you.

/ignore

Chad Myers - June 25, 2008 -

@Rob:

@John has a right to tell you whatever he wants. But you also have the right not to listen to people like that :) Don't listen to @John, keep pounding on MVC please. I don't currently use SubSonic, but I do use MVC, so I'm biased, of course.

Lucas Goodwin - June 25, 2008 -

@rob: I always figured if I'm not pissing someone off then I'm not doing something right. I think you're doing something right ;)

Kevin - June 25, 2008 -

@John

if it is coming too slow, start contributing. if it doesn't have the features you want, make sure they are requested. otherwise, shut the f up unless it is something constructive. If you think more time for development automatically means crazy fast releases, then please inform your boss of that, as I am sure whatever moron hired you even knows better.

Chris Kolenko - June 25, 2008 -

Oh.. there is something I'm very upset!! I've started to notice with all MVC apps usability isn't that great.

For example

When a customer hits add item to cart they get redirected from the current page to a thank you page. 'Your cart has been update'.. Baaaa.. I know that it's been updated i just clicked add.. why did you redirect me??

I know the action redirects them away from the view, but i would like to see the action be done with Ajax and maybe popup a nice modal display.

I would like to get peoples feed back on this.. Redirect or Not to Redirect??

Rob Conery - June 26, 2008 -

I talk about this in one of the episodes - not a big fan of that either. I'm redirecting to a page that shows a confirmation, but also allows for cross-sells and upsells.

This doesn't have anything to do with MVC.

Chris Kolenko - June 26, 2008 -

Yeah, i noticed the cross selling and the upselling..

but it's like a ad in a magazine.. no one looks at it.. well i know i don't..

so i think it's the easy way out when using MVC.

alberto - June 26, 2008 -

Looks like it's going to be a great screencast.

Could you create a rss feed for this category? Not that I don't like the rest of your posts ;) but I like having screencast/podcasts separated from the rest of my feeds, so that I can watch/listen to them when I have some time. I tried subscribing to blog.wekeroad.com/.../feed but it still gives me all of your posts.

Shannon - June 27, 2008 -

@Chris: Like Conery says, that has nothing to do with ASP.NET MVC. I think the reason you see the redirects commonly in the early samples that are out there right now is that it is the simplest scenario. You set a page, then you call an action, and then you redirect to a result page. I agree it is the easy way out and doesn't really work for most designs. However, if you have a specific reason to do it, like Conery's upselling, it does make sense. You don't want to crowd all that into a message div and definitely not into a modal popup. But it has nothing to do with MVC, it's just a design decision, and there's no limitation in the framework that forces you to do it that way.

@Rob: Great series, keep it up! I love that you are pulling in other people with different expertise to work on this as you go. It's very educational to watch other people's thought processes. You're doing the community a great service. I just wish there was a new screencast for me to watch today!

Allan N - June 27, 2008 -

@Chris: Re the cross-selling thing - you might not pay much attention to those ads, but lots and lots of other people DO. People who have already expressed an interest in buying something from you are far more likely to buy the next thing from you than the next anonomous user. Of course anything can be overdone and can become offensive - don't make me wade through 4 screens of that (no matter how relevant) just to get to the checkout page. Sites that do a good job of it earn significantly more $$ than sites that don't. And that's kinda the point of eCommerce sites, no? :) :)

Gecko