Agile And Sales
posted on 2005-09-26 at 00:27:23 by Joel Ross
Ben Carey, who was key to introducing Agile development to NuSoft (before we were NuSoft), has a great post about Agile and the issues it presents in the sales process.
He says the problem is how the sales team sells and how the client expects to be sold to. The solution, therefore, is education. Your sales team needs to be re-educated to sell in an agile world, and clients need to gain an understanding of the benefits of an agile process.
Of course, to "teach" clients about this, you need to build trust with them so they know that they are getting more value than a BDUF project. That's Big Design Up Front, by the way.
Building trust with new clients is tough - especially when (in their eyes) they are being asked to sign on to a project that they don't know when it'll be delivered or how much it will cost. That's a scary prospect. So what do you need to do? You need customer testimonials - other customers who've seen the benefits of an agile project and can relay those to new clients. There's nothing like an existing client selling your services for you! It's much more impactful than you telling them that they're going to get software that's delivered faster and cheaper and has the exact feature set you want.
From what I've seen thus far, clients tend to be happier once they get into agile projects - they know where everything is at - budget, features, etc. - how things are progressing, and how fast they are progressing (velocity!). Also, at the end, if things are going over budget, they know why and they aren't usually blindsided by the news. They can see where things are going as the project progresses, and they can make the decision to spend more if they want to - and they're more informed about what's going on. And since the priority is on building the important features first, they can also decide not to spend more knowing they got the main features they wanted.
Again, in a very long winded way, it's all about education! Once you have that, it seems pretty obvious what model you want to use.
Categories: Consulting
Tourney Bracket Control 2.0
posted on 2005-09-25 at 18:57:28 by Joel Ross
Well, I think I'm finally ready to reveal a little bit about our plans for the next version of the Tourney Bracket Control, and where we still have work to do.
First, some background on where we were coming from. When we designed the original TBC, we built it to be ultimately flexible - you can do anything you want with it - you can make a lopsided bracket with 8 teams in one half and 16 in the other. You can create multiple groups and label those any way you want. You can color right down to the round level.
Of course, you have to figure out how to do that. That means you have to lay out (most likely before you work with the TBC) how you want to group the bracket, how many rounds you have, how many competitors you want, how you want to link up matchups (i.e, the winner of game?1 and game 2 plays in game 3), how each team will be slotted, and then you seed each team. And due to an issue in?the way some of the logic worked, you better get the seeding right, or it's not rendering! And while we had design-time support, it was very touchy. You can see exactly how your bracket would be laid out on the design campus, but it really never worked until you had it all laid out - it couldn't handle rendering partially completed brackets.
So while I could lay out pretty much any bracket you could think of, not many others could. It was very particular, and not exactly user friendly. So, when we made the decision to make a new version, we knew it had to be easier. We tried to reduce it down to the bare minimum amount of data you need, and what we came up with is about as simple as it gets - the number of competitors. Strictly from the number of competitors, we can figure out what your bracket should look like. No more worrying about groups, rounds, matchups, linking matchups to each other, or worrying about how to lay out your groups.
Nope. It's much simpler than that. You add a collection of competitors. We figure out what your bracket should look like. You assign competitors to their opening slot, which we'll make easy for you by giving you a list of the open slots. The markup you create is much cleaner and smaller, and it's much easier to make a bracket.
So what are you losing? Flexibility. But to be honest, no one (that we know of) used most of flexibility. Everyone uses a standard way to lay out brackets. The one caveat to that is a double elimination tournament, which we don't have support for yet, but are working on. And it'll still be as simple as the above - just define your teams, and we'll handle the rest!
So what else has changed. The way it's rendered! Here's a screen shot of?the top part of a?32 team bracket.
There's some UI work to do, but it's functional - you're able to move teams around and we limit what teams are in each drop down based on the selections you make. Just like before. So, how is the rendering different than before? Well, before, we used a complete table layout. Now, we use a combination of tables and divs. We also use CSS to determine how a match up should look, rather than explicitly defining the fonts, sizes, colors, etc. Before, a large bracket would slow down the browser when rendering - browsers aren't great at rendering large tables - but by using a combo of a single, simple table and a bunch of divs, the rendering is much less processor intensive.
So what's left to do before you can get your hands on it? Let's list them out.
- Design-time support: I'm having issues with how things are persisted. The design time view works just fine, but the way it's written to the aspx page isn't quite right.
- Coloring: We haven't defined exactly how coloring should work. We've gotten rid of the concept of groups, which was our primary way of coloring sections in the bracket. Now, we're thinking of filling all of the area behind a matchup with defineable colors.
- Editable properties: We have?a lot of things that are built-in to the way the bracket renders. We need to decide what can be exposed and modified.
- Postbacks: I haven't done a ton with pulling results out of the TBC yet, which is very important - picking a winner is useless if you can't find out who you've selected.
- Testing: We have much more testing to do. Before releasing, we'll probably drop it in the Tourney Pool Manager too, and ensure it works there as well. That's a big test for us, and a way to confirm that it works well for a larger bracket.
- Changes to make this work in ASP.NET 1.1 and ASP.NET 2.0. It's written in VS 2005 beta 2 right now, but there's only a few changes we would need to make it work in VS 2003. Until we come up with a reason not to, we'll build it to be backwards compatible too.
- Double elimination: Currently, we're thinking we'll release without double elimination for now, and add it in after we get 2.0 out the door. With the new model in place, it won't be a huge deal to do this afterwards, and any markup you may have for the TBC 2.0 will work with a double elimination bracket too.
If you're currently using the Tourney Bracket Control, or you've tried it in the past, does this sound easier? Are we missing anything that you're using it to do? What else would you like to see?
Categories: Develomatic
Server Controls And Persistence
posted on 2005-09-25 at 15:57:09 by Joel Ross
As some of you may know, I'm one of the owners of Tourney Logic. We're working on the next version of the bracket control, and I'm having an issue that I'm trying to work through right now. The Tourney Bracket Control (TBC) is a server control that's a little different than most I've seen - especially with some of the changes we've made recently.
Here's why (I think) it's unique. In our control, you add a collection of one type of custom control (teams), and based on how many teams are in that collection, the bracket?creates a whole set of other controls (rounds, matchups, etc.)?and adds them to it's controls collection. Then, when rendering, it's up to each control to determine how it should render itself. From a programming stance, this makes the rendering fairly simple.
But here's where the issues come in. Because the CreateChildControls() method changes the control hierarchy, it's actually changing the markup in the aspx page, which is not what we want to happen. So, when you look at the markup, rather than seeing the teams you added, you see a whole hierarchy of rounds and matchups, which is not what we want.
I think I understand a little bit of what is going on: It's persisting the TBC's control collection, which is now different than what the designer specified it to be. Is there a way to control what gets persisted to the aspx page and what doesn't, separate from the way it's rendered? If you have any ideas, please let me know! I'm banging my head on a wall right now!
Categories: Develomatic
RossCode Weekly #019
posted on 2005-09-24 at 11:31:54 by Joel Ross
Download this?episode?| Subscribe to RossCode Weekly
Welcome to this week's RossCode Weekly. For a change, this week was pretty light in news - although, the few items are huge!
Let's ignore the?big news?(you know what the big news is, right?) and start with a nice little battle. Microsoft vs. Open Source. A few weeks ago, I mentioned how Firefox was looking more and more vulnerable. I wondered if the love affair with Firefox was coming to an end - with more and more security issues and the whole corporate thing going on, would people continue to blindly believe Firefox is a more secure browser? Well, here's some empirical evidence of security issues between IE and Firefox. To be fair, Firefox did release 1.0.7, a?release specifically for stability and security. But that's not all it shows. It goes beyond browsers, and takes a look at the difference between IIS and Apache - remember everyone's claim that Apache is more secure? Well, maybe not. The trend continues with Red Hat and Windows 2003. And Microsoft's the one who takes the knocks about being insecure! Back to Firefox - Symantec even says it's not as secure, but acknowledges that most virus writers are still focusing on IE.
So what do you do about the whole Firefox vs. IE issue? Well, it's obvious that as Firefox gets more and more popular,?virus writers will start to target it too. So what do you do? Well, how about going with Opera? I know the argument: I'm not paying for a browser, and I agree, which makes this all the better. Opera is now free - no ads and no cost! I've used Opera a little bit - but it was back in '99 I think. I'm guessing it's gotten better since then! So why would Opera give up almost $4,000,000 in revenue? Market share? Nope - Google. That's right. Google's paying Opera to use Google as it's default search, and they obviously think they'll make that up in ad revenue. They may be right, as Opera's been downloaded 1,000,000 times in the two days after they announced it would be free.
This week marked the start of the Carnival of Computing. If you've never heard of the concept of carnivals (as in the online type), it's a round up of what's going on for a particular topic, and it's called a carnival because it's meant to be a traveling feature - moving from one blog to another. And no, you don't have to be?a carnie or deep fry all of your food to be a part of it. Anyway, bloggers volunteer to host it and it's meant as a way to drive traffic to sites. Of course, my reasoning for mentioning this is two-fold. First, it's a competitor to RCW (sort of), and second, RCW is featured in the inaugural edition! It's episode #17, and it's listed in the hardware section.
Enough ego tracking! AOL is in the news again this week. Remember, last week, there were rumblings that they were going to be bought by Microsoft - or maybe just getting search services from Microsoft. Well, Google may feel pressured to outbid Microsoft to remain competitive. If it's only for search capabilities inside of AOL's software, then this isn't a huge deal - of course Google would want to protect something it already has. But if this is a full blown purchase, or even a partnership with Time Warner for AOL, this could still be a good move by Microsoft - force Google to spend some of it's excess cash on something it hadn't intended to use that money on - I hear Google already has plans for a lot of their cash! Of course, if they lose the AOL deal, it could cost them 25% of their revenue, or almost $400,000,000?annually.
Despite the talk of acquisition, AOL hasn't been sitting back. No, they plan to launch a VoIP service on October 4th. It probably won't cost $4,100,000,000 either. From the sounds of it, it will be a mix of what Skype and Vonage offers. Skype does the whole PC to PC and PC to phone thing, while Vonage acts like a regular phone. But, so far, no one has offered a mix of those two - yes, Skype can hook to a PBX, but last I looked, I don't have a PBX in my house, and I'm sure most people don't either. AOL looks to change that?- they'll make it easy to call other PCs from your PC and be able to treat their VoIP offering as your main phone system. Of course, it's AOL, so you'll have to deal with the ridicule of your friends for using AOL.
I can say that. I started my Internet life on AOL. I even met my wife on AOL! Even an AOL VoIP offering adds fuel to the rumor fire though - Time Warner offers a VoIP service, so why would AOL compete with their parent company? There's a few obvious reasons. AOL could potentially penetrate markets that Time Warner Cable can't.?Maybe the two services will be complimentary. Those are good, but what if the reason is that AOL has been in talks with Microsoft for a while now, and when they saw the writing on the wall (we're being sold!), they started to make themselves more attractive? See. Rumor fuel!
Sticking with VoIP news, Skype stayed in the news this week. Most of it was in the "Why?" category, but it wasn't all fluff. PowerGramo hit 1.0 this week. Never heard of PowerGramo? Neither had I, until I saw the article, but it's supposed to be a simple solution to record Skype calls. I downloaded the demo, and it works ok. That, and it's easy - no setup required. Still no easy, free solution though. If that happens, can you say RCW discussion panel?
It looks like the owners of Grokster don't want to know what the consequences of the Supreme Court decision against them back in July. Instead, they may be selling out to Mashboxx. Apparently Mashboxx already is a legit service, despite only being in beta, and Grokster wants to be legit. If Mashboxx wants a quick way to get some market share, and they have the money, this makes sense.
Back to VoIP for a minute.?A while back I mentioned that Vonage was going to have an IPO to raise some money. But there's reports that maybe they should be looking for a buyout instead. I've talked about this too - do you want to be a player in the game, or a small fish with a big price tag? Who might be interested in Vonage? News Corp. They seem to be buying up everything else these days, and Vonage would probably come at a much lower price than Skype. If Vonage does want to sell, I'll say they need to do it fast, before all the major players start offering their own versions. If not, then you better be able to stand on their own. The fact that Vonage is still trying to raise money suggests that they may not feel comfortable on their own.
Remember TiVo's PR nightmare last week regarding content protection? TiVo blamed it on noise in the line, but either that's a lie, or there's more noise than originally thought! Of course, TiVo still hasn't come clean with what's going on or why. As if that wasn't enough to hurt them, for the time being, you can't buy a TiVo directly from TiVo.?Apparently the company that provides them with DVRs went under. But that's not it either. It looks like if you get a TiVo now, you're actually signing a one year service contract, and you can get charged for canceling the service. And people wonder why TiVo's market share is shrinking.
Apple's always good for news, right? With the Apple Expo this week in Paris, there were a few items. First, Steve Jobs confirmed that, yes, you can expect Intel chips by June next year. No word if he said it in French though. He also said that, despite the clamoring for it, there would be no bluetooth support for the iPod in the near future. His reasoning, though, is pretty weak. No one wants to charge both their iPod and their headsets. That's a pretty weak excuse, and one that probably isn't valid. If you bought bluetooth headphones, what do you expect to use them with? His other reason? Bandwidth. Huh? Last I knew bluetooth offered plenty of bandwidth for even the highest quality music. More rumors? Not from Jobs, but some are seeing baby steps at Apple suggesting a tablet is in the works, and could be out as early as fall of '06. Now that would be interesting - and would definitely give us some insight into why Apple moved to Intel. But if they do release in the fall, they better have a nice solution - remember, that's when Vista is coming out, and it sounds like their tablet offering will be pretty good.
We're getting there. There were two?huge stories this week, and we'll start with Microsoft. They turned?30. That's?not the big news, though.?They've reorganized. They're narrowing down to three divisions: the Platform Products & Services Division, the Business Division, and the Entertainment Division. Jim Allchin also announced his plans to retire at the end of '06 after Vista launches. Why the reorg? To be more nimble and better fight it's competition. First the nimble part. Microsoft came under fire for some of their offerings and them not working together in the past. For example, CMS and Commerce Server. They're obvious fits, but they don't play nicely together. So they came up with the idea of "integrated innovation" - they plan for products to work together. But, as witnessed by recent delays in releases, it creates many dependencies between products. They need to become more nimble - to react faster to changes in the market place. Can a reorg fix that? I don't know, but it at least brings the thought to the forefront, which is good. There are signs of this coming to pass already - the ASP.NET team plans to release Atlas updates on a monthly basis - and the changes will be based on customer feedback. That's a good thing.
Now, let's talk about being more competitive. I've noticed in the past few weeks that Microsoft seems to be making more aggressive moves aimed at it's competition, and this reaffirms that it's part of a bigger plan. By lumping MSN into the Windows division, this definitely reinforces the "web as an operating system" idea. Hindsight is 20/20, and looking back, the release of APIs for MSN products and the integration of gadgets into both Vista and start.com sure makes this seem like the next logical step. By integrating Windows and MSN closer, the offerings Microsoft can present become pretty spectacular. Think of a local RSS reader combined with online synchronization (Newsgator Outlook Edition and Newsgator Online, as an example), but think bigger than that - think email, documents, search. Everything!
Think Google isn't thinking the same thing? Why do you think they're offering so many desktop apps (Google Talk, Desktop Search, the sidebar, etc.)? This gives them an in on the desktop where they can then start to offer you 1.) online access to offline data, and 2.) offline access to online data. In an effort to get closer to a consolidated solution, Google has started to switch all logins over to?your Google account - with Orkut being the first app to make the move.
But what if Google's ultimate plan is more the first option (online access to offline data) than the second option (offline access to online data)? Well, first, they'd have to make sure you're always connected, right? GoogleNet! More on that in a minute. Second, they'd have to offer a secure way of moving your data online. The details are sketchy - Google hasn't officially said anything, but they do have two pages about a wireless offering: a FAQ and a download page. From a technical standpoint, what you'll see is not really GoogleNet. It's just a secure connection to Google's servers.?Now, with that comes concerns about two aspects of this. First, the technology they're using may not be the most secure. Second, your data may not be secure, even if the technology is. Think about it - the promise is this:?your data is encrypted from your request to Google's servers.?They decrypt it and send the request out. Then it's re-encrypted by Google and sent back to you. Yes, local sniffers won't have access to your data, but guess who will? So, do you trust Google with your data? Remember their short-lived web accelerator? You're giving Google access to everything you do online. Think that data won't be used to target ads to you? Yes, Google's mantra is "Do no evil" but who defines evil?
So how will they target ads to you? You've heard rumblings of a true GoogleNet, right? There are reports that people using their secure VPN have been able to connect to a Google wifi network in San Francisco, London, and a few other places. It sounds like they've been there for a while, but Google is accepting bids for a nationwide fiber network. And the few hotspots they have are blazingly fast! So that's the news so far. No details about what's going on and when to expect it, but let's assume it's going to happen in the near future. What does this mean for you? First, remember the rumors of a Google operating system? I don't see a need for it any more. If they can get traction on your desktop (i.e, access to your local data) through their desktop search, Google Talk, and their RSS reader (sidebar), and can integrate that with an online service (securely - see above!), they don't need to control the operating system you're running on. In fact, they may not want to - why bother with the hassle when you already have what you need? Next, you're always connected. Obvious right? But this changes everything. Ignoring the security threats, presence becomes huge. What's presence? Right now, it's mainly treated as what your online status is, but if Google knows where you're connected, then they can easily add in where you are. This gives Google Talk a huge advantage over other IM clients. Speaking of Google Talk, with a constant connection, VoIP gets a huge boost. I can take my phone number with me for free. You'll see phones that can automatically switch between wireless networks and cell networks. Not because cell phone companies want to give up the control, but because they'll have to - we'll demand it.
One last way this'll be used. Small businesses will now have a nice way to get online. This will definitely help small businesses get a jump - no phone costs and?no access costs. That reduces the barriers to entry. Now, if they'd just offer free building space in exchange for billboards!
Ok. So that's how GoogleNet would help you. What does Google get out of this? They aren't doing this because they're nice guys, right? Well, they'll be sending ads to you. They know where you are, so they'll be sending you ads related to where you are. That'll cover the cost of the network.
Speaking of targeted ads, let's take a slight tangent here. Have you ever used your 411 service on your cell phone? It's expensive, right? Verizon used to offer you one or two free uses per month, but have since stopped that, and it's not cheap. What if you want it free??There's a new service called Free411, and it's just that - free! You call 1-800-Free411, and you listen to a ten second ad before you get your number. Why do I bring this up in this context? The idea is that the ad will be for a competitor to the number you're looking for, hopefully with an offer of a discount. So if you call in looking for the closest Dominos Pizza place, you could hear an ad for Papa John's that would entice you to order there instead. That's cool - it's targeted advertising. If this takes off, I bet we see an offering like this from Google over Google Talk.
While we're already distracted, it looks like Kahuna is launching, albeit in a closed beta. Remember, Kahuna is the next rev of hotmail. It's being made available to a few at mail.start.com, and from the looks of it, it'll feel like a windows application. It should be interesting to see how it progresses, as the promise is lots of iterative releases. Now, if we could just get access to use it.
Back to Google.?You have this huge network. And you recently launched video search. How do you make those work together? What about IPTV? Could Google be thinking about this? Well, they're hiring?a Product Manager for Google TV. Does this mean someone to help with the video search, or could this be a precursor to some sort of TV offering? If they offer TV, then Google has the potential to be a three headed beast, offering phone, internet and tv. Possibly all for free. I don't know about you, but if I got rid of my cell phone, my home phone, my cable, and my internet access, that could save me $3,000 a year! I'd probably take targeted ads for that!
Here's a little speculation. How would Google target ads to you if you're using GoogleNet. Others have tried pop-up windows, but those are largely ignored. Some have used frames that have the ads in them, and then the content in a separate window, but that's largely ignored too. No, the only way to get the desired revenue from the ads will have to be to have it in the content somehow. But how? Well, remember Google's latest toolbar, and the debate over it's AutoLink feature? AutoLink automatically adds in links on certain keywords - it was backed off a little bit based on community uproar, much like Microsoft's SmartTags feature was cut. But it could come back if the network was Google's - the argument being that if you want to use their network, you get their ads in your content. I think this'll be how you'll see ads delivered and be the most effective, but as a web developer, do you want Google modifying the content you created, and not only that, but profiting from those changes?
That's enough about Google. And that's all the content I have for you this week. I do have an action item for you though. If you've followed RCW since it's inception (or read the archives), you'll notice how it's changed. It used to be just a relaying of what's new, and it's morphed into something more as I've gotten more comfortable to throw in my own thoughts. Does this make RCW better or worse? Would you rather it be just a relaying of the news or do you like to see the commentary?
Next, does it bother you (like it's starting to bother me) that this is only once per week, and by the time you get it, most of the news has been around for almost a week? There's a couple of ways I can fix that - no, RCW will not become a daily thing, but I could put out quick hits of the big news items as it's developing. It wouldn't be everything. This week, I'd put something up about GoogleNet and the Microsoft reorg.
The other way I could give you quicker access to what's happening is to set up a del.icio.us?account for all of the links I plan to use for RCW. I track them all week, and then go through them as I write this. Granted,?I end up with multiple posts about the same thing, and I don't always use everything I flag, but it would give you an idea of what's coming. Then, the actual RCW's draw would be my commentary and a summarized look at what's going on.
Also, now that there's been one spoken RCW, what do you think of that? Jason's done a great job, but I'll eventually probably take it over.?What do you like and what don't you like? How should the spoken version differentiate itself from the written version?
As always, please send your feedback to weekly at rosscode dot com.
Categories: RossCode Weekly
Quick Hits
posted on 2005-09-24 at 01:01:02 by Joel Ross
I've been lax on blogging lately, and?I have a back log of things that I wanted to get out there. I don't want to put up a post about each, mainly because there isn't enough for that, but I do want to get some of this out there, so here it goes.
First, James Avery was looking for a data modeling tool that's cheap, and he found one even better. DBDesigner 4 - which is free! He says there's a SQL plugin available, but I couldn't find it. Anyone know where it is?
Next, Sachin Narute has a series of posts about reviews. There's three?- Design reviews, Acceptance Testing, and Code Reviews. Nice info here.
Jawad Khan talked about how to bind enumerations to drop downs. I've thought about doing this in the past, but I always end up with enums that should have spaces between the words, and binding that to a drop down doesn't look right.
Jon Galloway has a post that talks about database cache invalidation in ASP.NET 1.1 without triggers. We used Rob Howard's trigger-based approach in the past, and that worked great for us, and Jon has an argument for not doing it. My main argument would be that every developer has to remember to add the trigger to the table when caching is needed. Jon's solution doesn't need that.
At one point, I was posting a lot about Enterprise Library. I've since cooled on it (not the library. The posting), but here's a post from Scott Elkin about a quickstart with the library.
And, if you don't want to use Enterprise Library, but still want logging, Phil Haack has a good guide to getting log4net up and running.
Two new sites: First, Digital Locker Room, which is a cool concept - buy software in one spot from multiple places, and manage all of your keys there. Reloading a machine becomes much easier. Second, GotCodeSnippets. It's?a good site to find code snippets. It sounds?a lot like CodeKeep.
Last item, and then I'm about caught up. Here's a post about the 10 Commandments of .NET. Varad brings up some good points!
Categories: General
Qualities of a Technical Lead
posted on 2005-09-24 at 00:33:21 by Joel Ross
Having lead a couple of development teams, I found this post by Jeremy Miller to be pretty?informative.?My projects have been relatively successful, despite what I did to try to derail that, and it's a constant learning experience to know what the best way to lead a team is. Reading other's perspectives who have different persectives is always nice, and Jeremy provides some good insight.
The best part about his post is that he lists out not only what he does that works, but also relays what he's done that doesn't work - you don't see a lot of people talk about that. Most talk about how to do something, but it's just as important to talk about what doesn't work. You always learn more from your mistakes than your successes, and you won't learn from your mistakes until you're able to verbalize what those mistakes are.
Categories: Consulting
JSON - A Quick Look
posted on 2005-09-24 at 00:26:03 by Joel Ross
Steve M. over on Brain.Save() has a nice little post about JSON, which stands for JavaScript Object Notation. I've heard the term JSON, but never realized what it was or how it can be used. Most of the time it's used in conjunction with AJAX, which makes sense because (especially in .NET) you're dealing with objects when you work with data. Being able to still deal with objects in Javascript is very helpful.
Even without AJAX, being able to easily create dynamic objects in Javascript is pretty cool. I can think of many uses for this, and knowing this, I'll be changing how I do a lot of my javascript in the future.
Categories: ASP.NET
One More Reason To Love My DVR
posted on 2005-09-23 at 23:25:29 by Joel Ross
I'm a huge hockey fan, but I rarely have the time to dedicate three hours to watching a game. I didn't have the time over a year ago when hockey was last on, and I have even less time now.
Which is why it was so nice to be able to record the Wings vs. Avs preseason game the other night. I watched it after everyone else was in bed, and was able to watch the whole game, plus overtime and a shoot out, in less than an hour and a half. That's getting pretty close to the time the game actually takes. Actual play time was just over one hour. Add in the shoot out, and I really only lost the time spent fast forwarding.
I'm definitely sold on the concept of DVRs. I may start doing this with football games too. It's even more rare that I get a 4 hour block on Saturday or Sunday to watch a whole game - this would allow me to catch up on those too. With all the pauses in a football game and the clock running between plays, it may only take 45 minutes to get through a whole game!
Categories: General
RSS For Two-Way Integration
posted on 2005-09-22 at 23:41:06 by Joel Ross
I was listening to Daily Source Code #241 and Adam talked about Jon Udell's interview with Bill Gates, and he was questioning what BillG was talking about when he mentioned two-way RSS. Adam asked what that meant.
I don't claim to know, but it did get me thinking about how you could use RSS for two-way integration between two disparate systems.
Note: By writing this, I am in no way saying this is the best way to integrate systems. I'm just throwing it out there.
So, imagine that you make a request to a third party system. What if, as a response, instead of telling you the status or giving you a key to check the status, you got an RSS feed that can be checked periodically to get status information? Plus, instead of passing data across the wire to a system that may not be ready to receive it, you could send a feed that the third party app could use to grab data as it's ready for it.?
Here's an example of what an interaction could be. I place an order. You tell me if it can be filled, and if not, how many I can get. I confirm I want that many. You tell me the total. I send payment information. You confirm that payment was received. I send shipping information. You confirm with a shipping date. You then confirm when it's shipped. I confirm that the shipment was received.
Instead of actively requesting data, it just becomes available on the feed as each system puts it there - when it's appropriate for it to be there. For example, you don't put up payment information until you know what you're buying.
Like I said, this probably isn't the best way to integrate systems, and is a bastardization of the intended use of RSS, but it would be a standard way for integration to work - no questions about how to technically provide communication. The problems are two-fold. First, how do you?serialize and deserialize data. Of course, that problem already exists in a web service integration model, except you're able to define as part of the web service how the messag should look. It's not as easy to define a data format with RSS. The other part of the problem is in expecting data to be on the feed in a particular order. In the above interaction, data is expected to be there in order - you wouldn't want payment information available before an order is placed.
Anyway, it's just an idea. Any feedback?
Categories: Development
RossCode Picks - NFL Week III
posted on 2005-09-22 at 23:04:49 by Joel Ross
This is such an up and down season so far - I didn't expect it to start out like this. But now, teams seem to be settling down a little bit, and we should be able to predict a little better. I guess we'll see, huh?
- Atlanta vs. Buffalo (-2.5) (37 O/U): I'm taking Atlanta. I think it'll be a low scoring game, so I'll take the under. Buffalo is running into growing pains with their rookie quarterback, and that's going to cause the Atlanta defense to crowd the line to 1. blitz, and 2. stop McGahee. For last week's results, I stressed that you need to establish the run to get a passing attack going, but for Buffalo, they are in a situation where they need to complete a few passes to get defenses to back away from the line a little bit. That, and get McGahee to be more decisive with his runs. Atlanta, on the other hand, is dead in the water if Vick doesn't play, which is why I think he will.
- Carolina (-3) vs. Miami (36.5 O/U): Just basing my pick on a running game, Carolina tends to run the ball more than Miami. Throw in Carolina's defense, and I don't think Miami has much of a chance.
- Cincinnati (-3) vs. Chicago (40 O/U): Cincinnati is playing very well, and playing another hapless NFC North team helps them. The schedule definitely helps them. That's a nice way to get Palmer comfortable in his second year. Chicago will rely again heavily on?a running game - Orton is doing OK, but Cincy's defense had 5 INTs last week. I expect a high dose of Thomas Jones, who had a great game last week, and Cedric Benson, but it won't be enough.
- Cleveland vs. Indianapolis (-13.5) (46.5 O/U): I usually don't like to pick teams that are favored by more than ten points, but it's Cleveland. Combine that with Indy's improved defense, add in the inevitable breakout game from Manning, and you have blowout written all over this one.
- Jacksonville vs. New York Jets (-2.5) (33.5 O/U): Jacksonville lost strong safety Donovin Darius for the season, but they still have a solid defense. The Jets are hurting right now. Pennington is still recovering from off-season shoulder surgery - yes, he says there's no pain, but he's not throwing like he used to - and, while Martin is expected to play, he'll still be hurting a little bit.
- New Orleans vs. Minnesota (-4) (44.5 O/U): Minnesota has to bounce back at some point, right? They can't really be that bad? Culpepper was deemed to be the second best fantasy quaterback behind Manning (how are his fantasy numbers?), and that hasn't quite happened. He's thrown 8 picks - it took him until week 13 last season to throw that many! New Orleans probably will have trouble focusing after a week that's focused on their "home" loss. Combine that with playing a real road game, and New Orleans is ready to lapse back to where everyone thought they would be before the hurricane hit.
- Oakland vs. Philadelphia (-7.5) (46.5 O/U): Did the oddsmakers watch McNabb shred the 49ers D last wee? Oakland isn't a solid defensive team either, and their offense is too pass happy - yes, Moss is good, but when you can focus on him, he won't be as effective.
- Tampa Bay (-3.5) vs. Green Bay (37.5 O/U): I'm sold on Tampa Bay, and Green Bay is reeling this year, especially with the loss of Walker in week one. Their defense isn't any better. Of course, haven't they started the past two years poorly only to finish strong? This is a much stronger Tampa Bay team, especially defensively. Offensively, they seem to be much more solid - which is a wierd way to word it, but that's what I see. They aren't great, but they are consistent.
- Tennessee vs. St. Louis (-6.5) (45.5 O/U): I'm reversing my thoughts on St. Louis - I know it's early, but they definitely aren't playing very good right now. Tennessee isn't great, bu they did beat up on Baltimore (another bad team). I'll take them this week, at least.
- Arizona vs. Seattle (-6) (41.5 O/U): Arizona is bad. No running game. An washed-up quarterback. At least they have good receivers. Wait - is this the Lions of the west?
- Dallas (-6.5) vs. San Francisco (41 O/U): Dallas is coming off a disappointing loss to Washington, and that'll factor into the game. But, on the other hand, it's San Francisco! Despite Julian Peterson's guarantee, Dallas will win this one.
- New England vs. Pittsburgh (-3) (42 O/U): Pittsburgh is dominating games right now. Parker is playing awesome, and that's only opening up the passing game for Roethlisberger. Their defense isn't quite the Iron Curtain of the 70s, but their still good. New England, while still good, had their weakness exposed.
- New York Giants vs. San Diego (-6) (42 O/U): This week, we'll learn how Eli Manning responds to pressure. Not the New York media type pressure, but the loud booing and yelling pressure. Remember, Eli Manning refused to play for the Chargers if drafted by them last year, and I'm guessing San Diego fans may remember that. The Chargers have to start playing better - 0-2? That'll change this weekend.
- Kansas City vs. Denver (-3) (48 O/U): This should be a pretty good Monday night game. K.C.s defense is better than anyone thought they would be, and the combo of Holmes and Johnson is deadly. Denver, though, outplays what I expect from them. The running system they employ is tremendous. They can turn anyone into a 1000 yard rusher. But still, it won't be enough against an improved Chief defense.
Another week of picks. The bright side is that I can't get much worse!
Categories: Football