An Applet is not the programming equivalent of a phonograph.
I haven't been able to get an invite so I don't know how draftmix works. But using an applet for the live draft client gives me a huge advantage--I can use the same exact code on the client and server sides.
I assume you're using Flash on the client and something else on the server.
This means you have to maintain two versions of the same exact code. Every bug you find has to fixed twice.
An Applet is not the programming equivalent of a phonograph.
In terms of the timeline it is. It has been replaced by Flash and now AIR and Silverlight are trying to do what Applets were used for. SUN seems to be moving away from them as well, by introducing WebStart.
Java applets leave an antiquated impression with most, mainly because people still conjure up memories of applets from 5+ years ago. Painfully slow, buggy, overused.
The reality though is that applets are significantly faster now, and they are very powerful. But I doubt this will change the impression most people have of them. Flash does most of what you would need, and now there is AIR if you need access to the file system or other low level functionality.
I think a mistake Sun is making is with all the branding they do with applets. Showing a Java logo each time an applet launches is a shameless plug and leaves an impression that a lot of crap is loading. The bootstrap process should be more seamless, in my opinion. They still have not changed this as far as I know.
If you're using applets, I'm not using your site. Java plugin support in Linux, especially on 64-bit platforms, is not up to par. I have tried numerous times to get Java applets working in my browser before simply throwing up my hands and declaring that any site which used Java applets was not worth my time.
Flash is nearly as painful, but I was at least able to get it working. Additionally, with so many sites using Flash, it's hard to ignore all of them. I used Flashblock for a while because I was tired of pointless Flash (Flashblock allows you to activate a Flash object if you wish), but so many sites used Flash that I found the plugin to be a hindrance rather than something I appreciated.
Personally, if a site avoids using Flash or applets altogether (GMail comes to mind), I appreciate it that much more. When Javascript doesn't get the job done, Flash, to me, is definitely the lesser of two evils.
I'd love to hear your suggestion for a replacement. Any ideas where I can get an open OS that does exactly what I want it to while being absolutely sure that my personal activity is not being recorded or monitored in some way (either by vendor or virus)? Is there any OS where I can copy my $HOME directory to a newly-installed system and have all my applications behave in the same way they did on my old one? Other than OSX (which happens to get many benefits from open source tools which compile on it), is there another OS where anything you feasibly want to do with your computer is a Google search away? How about updating every single application on my computer to the latest version with a single command? Those are just a few of the things I appreciate about Linux without even mentioning its cost.
Linux has many inconveniences that have been gradually disappearing. On the other hand, the benefits that it offers are something that I have no hope of getting from a proprietary solution. I've only been using it for less than a year and a half, and I'm finding that my day-to-day usage has become more efficient than my Windows experience by leaps and bounds. I admit that I occasionally become frustrated by certain activities (wireless networking and suspend/hibernation routines come to mind), but even things like this are getting easier thanks to not-yet-1.0 software like NetworkManager.
I seriously expect that within a few more years, Linux will be no harder to use than any other OS out there, with the added benefit of it being more free and flexible than any other option. Problem solved.
On another note, if (as a service provider) you came back to me with that proposition, that would be a surefire way to lose a customer. I postulate that the average Linux customer would be more helpful to you than the average Windows or even Mac customer, as I would expect a higher level of technical savvy (less frivolous calls/e-mails to customer service) and a higher likelihood to file legitimate bug reports. If you are chasing these people away, you are losing on more than one count.
"I'd love to hear your suggestion for a replacement." Windows XP.
When deciding what OS(or whatever) to use try and focus on more than one thing. Otherwise you end up focusing on the wrong things. I average less than 1 hour a month messing with my XP box at home. So for me messing with other desktop OS's is a waste of time.
PS: I have written low level networking code for Mac OS 7 though OS X, BSD Unix, and Linux so I know the alternatives far better than most people, but IMO as a home desktop windows just works. And at the end of the day don't you have more important things to do with your time than muck around with your OS?
I used XP for a long time, and I was generally happy with it while I was using it. Now that I've gotten used to the Linux way of doing things, though, using Windows just annoys me. When I have to muck around in binaries just to change the text of the Start button, Windows isn't doing what I want. Most Linux programs come with reasonable defaults but also with well-documented configuration files that let you set things however you want them to be when you want to tweak stuff.
It might seem hard to believe, but I seriously use Linux because I find it more convenient. I set up my own home network using a Linux machine with several Ethernet interfaces and one wireless one. It runs a wireless access point that I can configure to allow connections based on any rules I wish. It's running a DHCP server and a DNS server to hand out IP addresses and aliases for services like printing (just print to http://printer:631/printers/laser_printer). I'm sharing a networked laser printer with anyone on my internal network, meaning I can fire up a print job from my laptop downstairs and it's finished by the time I get upstairs. I have a low-overhead firewall running to ensure only desired ports are accessible from the outside, and I have easy SSH access from wherever I can happen to connect on my laptop or cell phone.
I plan on deploying early-stage web software on this same machine for testing and evaluation. One ISP in my area offers a standard cable internet service that comes with 3 IP addresses. This means that I can fire up three different web servers listening on each address and run three different web sites from this machine without anyone knowing any better. Moreover, I can easily configure these servers to startup at boot time, so that I don't have to worry about starting everything up properly in the event of a reboot.
Speaking of reboots, it is a very rare occurrence for me; I can run my computer for months without ever having to restart it, even after a re-install of every program on my computer. The only time a restart is ever necessary is while switching to a new kernel version, and I think there are even ways around that, although I think it would be easier to just reboot. Windows requests a restart nearly every time a program is uninstalled or an update is applied. When I want to install a new program, I don't go searching on Google for one and worrying about viruses, or trying to find currently-maintained stuff on SourceForge; I merely type "esearch program_I_want" and get a list of matches, or I can look under meaningful categories in /usr/portage to find what I'm looking for if I don't know exactly what program I'm looking for.
I like a GUI just as much as anyone else; it definitely simplifies a lot of tasks. For really complex stuff, though, a GUI can get in the way as you have to go through several levels of menus to change an option that you may only need changed for one run, only to change it back later. With Linux, most programs do have GUI interfaces, but a powerful command line is only a Ctrl-Alt-T away, and Linux taught me not to be scared of it. Using the power of the command line, I can do things like playing a Stevie Ray Vaughan and Jimi Hendrix mix by typing
On Windows I would either have to go through and select them all, have my files sorted in some special way, or write (or find) a program to do this for me. On Linux, tons of small tasks like these have virtually no overhead thanks to the power of its built-in command line and the programs that operate from it.
I just migrated from using mainly a desktop machine to a laptop I recently purchased. All I had to do was get the initial environment up and running, copy over /var/lib/portage/world from my old computer to my new computer and run "emerge -e world", then copy over my personal directory under /home/my_username, and my entire environment was iden...
Actually, with virutalization you can have best of both worlds. Just run a VMWare or Xen instance of Windows XP inside Linux and you can switch back and forth on the fly for that type of stuff. It works great for development.
The problem is paravirtualization still isnt supported in the x64 kernel. So its still too slow to do heavy tasks in. And you still need lots of ram and cores if you want to do lots of simultaneous work.
Except that I really don't like Windows XP... I could care less about it. I'm not going to go to all that trouble (including buying a copy of Windows XP; I'm not going to steal it) just to use a Java-based website. That's really the main crux of my initial point, that if you're using Java applets, you're probably turning away what could be some valuable users.
It does require separation of code, but not twice as much debugging. Every bug does not have to be fixed twice. It's similar to MVC architecture in a way, with the flex client being the view. I'd be surprised if the bug fixing isn't actually easier due to the separation.
Also, your goal in a startup is not to make it easy for you to code, but to make it easy for your users to play. (You only do the former where it assists with the latter.) Java does not accomplish that. People don't want to piss with JRE. It is a bloated nightmare that crashes people's systems, nags them about updates, slows down bootup, etc.
Everyone has Flash. In fact, more people have flash than javascript (turned on) making it the most commonly accepted environment. It and AJAX are really the only acceptable choices for a live draft.
Don't get into language wars when you're trying to sell a product. Obviously, Java applets work for yahoo and for the people who use yahoo games, so people are evidentally able to tolerate "bloated nightmares".
Applets have clunky startup/shutdown processes. That's their main problem. Aside from that, they duplicate the desktop experience quite accurately, unlike Ajax, which is a permanent kludge.
Plus, how else are we going to play Kid Icarus without applets:
I was quite happy with Yahoo Games when I was a Windows user. I played Chess, Hearts, Euchre, and more on Yahoo Games. Once I had any problems with Java applets, however, Yahoo Games became a casualty of those problems. I literally spent at least an hour a day on Yahoo Games before switching to Linux. At that point, Yahoo's technology got in the way and I looked for non-Java alternatives. Unless you have no chance of having non-Java competition (I'm thinking of my local gas company here), it would really be a shame to lose potential users because of your technology choice.
I could be wrong, but I don't think you've done many Yahoo fantasy drafts if you think people are really OK with the draft interface. The reason I've continued to use the site over the years is more that the rest of the interface isn't that bad and that the alternatives are worse.
The user really doesn't care if you have to maintain your code on both client and server. Besides, even if you want to avoid that, you could always use JavaScript for both client and server.
All the major sports leagues are notorious for protecting their brands and trademarks -- NFL, MLB, NHL,etc -- , simply look at the licensing deals some sites like Yahoo have needed to go through. And to top it off, they are mixing in virtual dollars (gambling) into the mix, which has been under fire recently in the U.S.
Its an untapped market for sure, but a snake-pit in litigation issues. May be the next YouTube you never know, but I doubt it, the sports leagues are more aware of the online world the movie studios.
I think the Java vs. Flex debate is out of place here. The way Matt's comment re Java fits into the discussion has more to do with the amount of attention that most Fantasy Sports providers are giving to the domain. In that context, I think Matt is on the money. The big providers are not keenly focused on the problem. I'm an avid fantasy sports fan, and my experience has been far from optimal.
The killer part of the app is that it offers the ability to bet online and get quick gratification. Draftmix hits the action player's sweet spot, and I suspect apps in this area will drastically outperform their season-long counterparts. Anyone familiar with gambling economics knows that the action players and casual gamers drive the economy.
The argument about skill vs. chance in the comments of the TechCrunch article is interesting. I think it's easy to make a compelling argument that success in the short term format might require more skill than season long formats, but legislators have demonstrated that compelling arguments hold less value than one might think they should.
I agree re: skill in short format leagues. What it would come down to, should we ever end up in court (which we're taking great pains to avoid) is convincing a jury that we meet whatever test their state applies to a game to determine if it is a game of skill or not.
We're staying away from states where that test is too stringent (i.e., many states ban games that involve any luck at all). In the ones in which we operate (39) the test is typically that luck is the predominant factor. We feel that given a large sample we can mathematically prove that a player can win over time regardless of luck. We're certainly seeing that so far.
How do those jurisdictions judge betting on the result of a match? Picking players on their teams likely performance would surely be a significant part of the game.
Although given that what you're doing isn't odds adjusted, it's probably not that great a comparison.
That falls under the purview of traditional online sports betting which is illegal in every state but Nevada (where it is legal intrastate with tight regulations).
Yeah either way I think its fairly clear draftmix should be considered the same as any other fantasy sports league. I guess my point is that betting on the result of a game is usually accompanied by odds to increase the luck the component, and fantasy sports doesn't.
You'd think picking week by week would control the randomness, certainly you're much less likely to be hit by an injury which would be one of the largest random components. Also players tend play well or badly in patches.
I'd agree about applets. They look ugly in the main, trying to make them not look ugly and out of place is very hard.
Startup time is very slow, and they do stick out like a sore thumb saying "1990s! 1990s!"
If a website is slow, and looks ugly users are going to be less likely to use it.
It doesn't stop at non-appreciation. Matt literally beats team members when they can't get features completed on time. I can post my bruises to flickr if you want?
Actually, less than I got from here (by far). But I got a hell of a lot of random contact emails from people wanting to sell me stuff, wanting a job, wanting to explore a partnership, and potentially even to invest. Very odd.
40 comments
[ 8.8 ms ] story [ 219 ms ] threadI haven't been able to get an invite so I don't know how draftmix works. But using an applet for the live draft client gives me a huge advantage--I can use the same exact code on the client and server sides.
I assume you're using Flash on the client and something else on the server.
This means you have to maintain two versions of the same exact code. Every bug you find has to fixed twice.
-Ori http://www.fleaflicker.com/contact.do
In terms of the timeline it is. It has been replaced by Flash and now AIR and Silverlight are trying to do what Applets were used for. SUN seems to be moving away from them as well, by introducing WebStart.
The reality though is that applets are significantly faster now, and they are very powerful. But I doubt this will change the impression most people have of them. Flash does most of what you would need, and now there is AIR if you need access to the file system or other low level functionality.
I think a mistake Sun is making is with all the branding they do with applets. Showing a Java logo each time an applet launches is a shameless plug and leaves an impression that a lot of crap is loading. The bootstrap process should be more seamless, in my opinion. They still have not changed this as far as I know.
Flash is nearly as painful, but I was at least able to get it working. Additionally, with so many sites using Flash, it's hard to ignore all of them. I used Flashblock for a while because I was tired of pointless Flash (Flashblock allows you to activate a Flash object if you wish), but so many sites used Flash that I found the plugin to be a hindrance rather than something I appreciated.
Personally, if a site avoids using Flash or applets altogether (GMail comes to mind), I appreciate it that much more. When Javascript doesn't get the job done, Flash, to me, is definitely the lesser of two evils.
Linux has many inconveniences that have been gradually disappearing. On the other hand, the benefits that it offers are something that I have no hope of getting from a proprietary solution. I've only been using it for less than a year and a half, and I'm finding that my day-to-day usage has become more efficient than my Windows experience by leaps and bounds. I admit that I occasionally become frustrated by certain activities (wireless networking and suspend/hibernation routines come to mind), but even things like this are getting easier thanks to not-yet-1.0 software like NetworkManager.
I seriously expect that within a few more years, Linux will be no harder to use than any other OS out there, with the added benefit of it being more free and flexible than any other option. Problem solved.
On another note, if (as a service provider) you came back to me with that proposition, that would be a surefire way to lose a customer. I postulate that the average Linux customer would be more helpful to you than the average Windows or even Mac customer, as I would expect a higher level of technical savvy (less frivolous calls/e-mails to customer service) and a higher likelihood to file legitimate bug reports. If you are chasing these people away, you are losing on more than one count.
When deciding what OS(or whatever) to use try and focus on more than one thing. Otherwise you end up focusing on the wrong things. I average less than 1 hour a month messing with my XP box at home. So for me messing with other desktop OS's is a waste of time.
PS: I have written low level networking code for Mac OS 7 though OS X, BSD Unix, and Linux so I know the alternatives far better than most people, but IMO as a home desktop windows just works. And at the end of the day don't you have more important things to do with your time than muck around with your OS?
It might seem hard to believe, but I seriously use Linux because I find it more convenient. I set up my own home network using a Linux machine with several Ethernet interfaces and one wireless one. It runs a wireless access point that I can configure to allow connections based on any rules I wish. It's running a DHCP server and a DNS server to hand out IP addresses and aliases for services like printing (just print to http://printer:631/printers/laser_printer). I'm sharing a networked laser printer with anyone on my internal network, meaning I can fire up a print job from my laptop downstairs and it's finished by the time I get upstairs. I have a low-overhead firewall running to ensure only desired ports are accessible from the outside, and I have easy SSH access from wherever I can happen to connect on my laptop or cell phone.
I plan on deploying early-stage web software on this same machine for testing and evaluation. One ISP in my area offers a standard cable internet service that comes with 3 IP addresses. This means that I can fire up three different web servers listening on each address and run three different web sites from this machine without anyone knowing any better. Moreover, I can easily configure these servers to startup at boot time, so that I don't have to worry about starting everything up properly in the event of a reboot.
Speaking of reboots, it is a very rare occurrence for me; I can run my computer for months without ever having to restart it, even after a re-install of every program on my computer. The only time a restart is ever necessary is while switching to a new kernel version, and I think there are even ways around that, although I think it would be easier to just reboot. Windows requests a restart nearly every time a program is uninstalled or an update is applied. When I want to install a new program, I don't go searching on Google for one and worrying about viruses, or trying to find currently-maintained stuff on SourceForge; I merely type "esearch program_I_want" and get a list of matches, or I can look under meaningful categories in /usr/portage to find what I'm looking for if I don't know exactly what program I'm looking for.
I like a GUI just as much as anyone else; it definitely simplifies a lot of tasks. For really complex stuff, though, a GUI can get in the way as you have to go through several levels of menus to change an option that you may only need changed for one run, only to change it back later. With Linux, most programs do have GUI interfaces, but a powerful command line is only a Ctrl-Alt-T away, and Linux taught me not to be scared of it. Using the power of the command line, I can do things like playing a Stevie Ray Vaughan and Jimi Hendrix mix by typing
On Windows I would either have to go through and select them all, have my files sorted in some special way, or write (or find) a program to do this for me. On Linux, tons of small tasks like these have virtually no overhead thanks to the power of its built-in command line and the programs that operate from it.I just migrated from using mainly a desktop machine to a laptop I recently purchased. All I had to do was get the initial environment up and running, copy over /var/lib/portage/world from my old computer to my new computer and run "emerge -e world", then copy over my personal directory under /home/my_username, and my entire environment was iden...
The problem is paravirtualization still isnt supported in the x64 kernel. So its still too slow to do heavy tasks in. And you still need lots of ram and cores if you want to do lots of simultaneous work.
Also, your goal in a startup is not to make it easy for you to code, but to make it easy for your users to play. (You only do the former where it assists with the latter.) Java does not accomplish that. People don't want to piss with JRE. It is a bloated nightmare that crashes people's systems, nags them about updates, slows down bootup, etc.
Everyone has Flash. In fact, more people have flash than javascript (turned on) making it the most commonly accepted environment. It and AJAX are really the only acceptable choices for a live draft.
Applets have clunky startup/shutdown processes. That's their main problem. Aside from that, they duplicate the desktop experience quite accurately, unlike Ajax, which is a permanent kludge.
Plus, how else are we going to play Kid Icarus without applets:
http://www.davieboy.net/play/game.all.play.asp?rom=11.zip...
All the major sports leagues are notorious for protecting their brands and trademarks -- NFL, MLB, NHL,etc -- , simply look at the licensing deals some sites like Yahoo have needed to go through. And to top it off, they are mixing in virtual dollars (gambling) into the mix, which has been under fire recently in the U.S.
Its an untapped market for sure, but a snake-pit in litigation issues. May be the next YouTube you never know, but I doubt it, the sports leagues are more aware of the online world the movie studios.
http://reddit.com/info/wbt3/comments/cwc5a
The killer part of the app is that it offers the ability to bet online and get quick gratification. Draftmix hits the action player's sweet spot, and I suspect apps in this area will drastically outperform their season-long counterparts. Anyone familiar with gambling economics knows that the action players and casual gamers drive the economy.
The argument about skill vs. chance in the comments of the TechCrunch article is interesting. I think it's easy to make a compelling argument that success in the short term format might require more skill than season long formats, but legislators have demonstrated that compelling arguments hold less value than one might think they should.
We're staying away from states where that test is too stringent (i.e., many states ban games that involve any luck at all). In the ones in which we operate (39) the test is typically that luck is the predominant factor. We feel that given a large sample we can mathematically prove that a player can win over time regardless of luck. We're certainly seeing that so far.
Although given that what you're doing isn't odds adjusted, it's probably not that great a comparison.
You'd think picking week by week would control the randomness, certainly you're much less likely to be hit by an injury which would be one of the largest random components. Also players tend play well or badly in patches.
If a website is slow, and looks ugly users are going to be less likely to use it.
Matt you've got to learn to better appreciate your team, future Steve Jobs or not.