| last updated:09 Sep 2002 13:17 UK time |
![]() |
| JOS Statistics - Recent Comments (Comments added for week ending Sun 01 Sep 2002) | View Other Weeks |
| Joel Assumes Incorrectly That Wide Adoption=Good. | Sun 01 Sep | Carnage4Life |
| In the Platforms article Joel berates Groove Networks which makes a product which hed like to build his application upon. I can see why Joel would like the Groove folks to make their development platform free since it means his CityDesk application gets enhanced functionality with less development costs for him and probably no price increases passed on to his users. However, what Joel fails to do in the article is explain why besides increasing adoption rates this benefits Grooves bottom line. Since we are no longer in the Dot Bomb Era simply telling a company that giving away a product for free will garner them more users sounds like poor business sense. After all, Im pretty sure Macys would get more customers if they charged $1.00 for everything they sold regardless of cost to themselves but it would be a disastrous business plan. In Joels article he uses Suns behavior with Java as a positive example of how to make a successful development platform while using Apples behavior as a negative example. However, even Joel himself admits that Suns Java strategy is full of mistakes. Specifically, Sun created a kickass development platform by improving on already existing concepts thus commoditizing hardware and operating systems in a single blow. Although the platform became widely adopted, Sun really didnt have a sound strategy for making money from Java except as a very expensive ad campaign for selling over priced servers. At the height of the dot bomb boom, sales people could say Java is the best development platform and Suns expensive hardware/software is the best way to run it even though this was never absolutely true it sold servers. However, now that people actually carefully scrutinize their purchasing decisions in the wake of the economic downturn theyve realized that they dont need Suns expensive server/OS combo to run Java and now the Java Big Two are IBM and Bea. The most telling part of the Apple/Sun comparison is that although Apple pulled in $1.43 billion in revenue in the third quarter of the fiscal year versus Sun who pulled in $3.1 billion in revenue it turns out that Apple posted a net profit of $.09 per share against Suns net loss of $.01 per share. Looking at it from that perspective, it does seem that Apple is making smarter business decisions than Sun and Joels case isnt as open and shut as he presents it. PS: Does anyone else think that a Groove partner telling Joel intimate details of their deal with Groove and possibly loosing them revenue with the bad publicity probably violates whatever NDA type deal they signed with Groove. Of course, this assumes that the Groove folks were smart enough to sign their partners to some sort of disclosure related agreement. |
| Sun 01 Sep | Robert Moir | 'Since we are no longer in the Dot Bomb Era simply telling a company that giving away a product for free will garner them more users sounds like poor business sense. After all, I'm pretty sure Macy's would get more customers if they charged $1.00 for everything they sold regardless of cost to themselves but it would be a disastrous business plan. ' You are forgetting something very important about the 'platform' arguement. And it shows in this paragraph. Macy's doesn't sell it's base products for $1.00 because they don't have a market in selling developers editions to people who want to develop for their products. You are comparing apples to oranges. What you give away free is the basic runtime to use something created with your platform - e.g. Acrobat Reader. What you charge a fortune for and make your money with is the development tools - e.g. Acrobat itself. Or the free outlook express and the expensive Exchange Server. Actually this is a good example because theres also the enhanced functionality 'player' for exchange, the full blown outlook client. Speaking of 'dot-bomb' as you did earlier, I'd you can show me where the free outlook express client is killing Exchange Server. I'll wait. It's easier to convince people to buy your development tools and develop for/using your platform if you give away your player and you have good distribution channels; the developers don't have to worry about whether or not people will be able to use the fruits of their labour, or worry overly much whether it will run across all platforms you've targetted, etc because you've already taken care of that. |
| Sun 01 Sep | Sammy | Interesting. I was about to ask around if Groove really wants to introduce competition on its own platform. Is this preferable to huge 'enterprise-level' contracts? Joel presents a hypothetical: If Notes were more open, CLEARLY we'd all be surfing the Notes instead of the web. But is that true? From what I hear, Notes is wildly successful despite not having achieved ubiquity. Especially if it's such the nightmare people make it out to be. Hard to second-guess them. Aside from introducing competition to your own platform, you also have more people attacking the platform itself, once it gets out of the comforting niche you made for it. Rebol might be profitable now for selling Scheme+netlibs and Sassenrath's name. But could it go against Java? Joel says Groove management is clearly 'greedy or clueless.' That may not go without saying. |
| Sun 01 Sep | Chris Altmann | I agree with your point Robert, but Outlook Express has nothing to do with either Outlook or Exchange. Outlook Express used to be called Internet Mail And News (I believe the exe is still msimn.exe). It is a SMTP/POP/IMAP client with a news reader built in. It has a few similarities with the UI of outlook (what email program wouldn't) but thats it. That said, one could view Outllook as being given away 'free' with each copy of Office Pro. |
| Sun 01 Sep | Robert Moir | True enough Chris - and I know this because i happen to spend 50% of my time working with email servers and clients. I really really hate using Outlook Express for email, as it happens. But it is a free viewer for Exchange - albeit a very limited one, and one that also works for any other email server that supports SMTP and either pop or imap. But it does count to the point that someone can hire me to setup their internal email system using exchange, and because they have office they can take advantage of the feature rich outlook client, and additionally they can tell people they've also allowed POP and/or IMAP access, safe in the knowledge that the vast majority of their people will either run Windows with Outlook Express at home - and they can provide a guide for these people with screen shots, and people who prefer eudora(or whatever) are used to adopting outlook express config instructions to work with eudora because they have to do this to configure their preferred email client to work with their ISP which also assumes they are using OE. |
| Sun 01 Sep | Carnage4Life | 'What you give away free is the basic runtime to use something created with your platform - e.g. Acrobat Reader. What you charge a fortune for and make your money with is the development tools - e.g. Acrobat itself.' We all know how the strategy is supposed to work, people have been yelling give away the razors and charge for the blades for years now. However it isn't open and shut no matter how much you repeat it. The interesting thing is that your example is the exact opposite of Joel's. He is arguing that you should give away the development platform (a la Sun & Java) then make money from the end users. The problem with this scenario is that all you might end up doing is building a platform for your competitors and partners to take advantage of while living you with double the work maintaining the platform and your end user apps. Chris has already pointed out why your Outlook Express analogy is similarly off. |
| Sun 01 Sep | Robin Debreuil | This is from another thread, but here are slightly more specific numbers... Playstation has sold over 100 million consoles, about 35 milllion the ps2 (I beleive that is more than XP in a similar time frame, not sure though). You could add Nintendo and Sega sales to that if you like, as they are similar enviroments. Sony charges developers a LOT to develop for the PS2, has extremely strict requirements and quality control, and it is quite difficult to program. It is certainly one of the most popular (and most closed) platforms in the world, full stop. How does this fit in to the idea that give it away and you'll be the next microsoft? Next Linux maybe... Piracy also isn't near as common as on PC's - people buy the console, and buy expensive games, so I'm not sure about encouraging people to steal your stuff either. I think that is just a way of casting a wide net into the big world and hoping for the best, rather than having a real sales plan. Microsoft also never gives away things without a clear strategy, usually to destroy a competitors revenue stream. It works well for them, because they can afford to wait while netscape, lotus, novell, apple, sun etc wither on the vine, and then make up for lost time once the competition is sidelined. I love .Net, but I'm well aware that if it manages to snuff out Java, the price will rise... I think the key things to a successful platform are excellent developer support, and a giant effort to get the product into the hands of paying customers. That is something MS always 'got', as did Sony for that matter. It isn't just because developers are happy. For example, if you don't have good documentation, then you are the worst off, being the platform your create and work on 24/7 isn't well documented. Free and everywhere is a strategy, but the downside of having no barrier to entry, is you end up with a lot of low quality products around your platform. Most of windows reputation for instability (vs similary structured macs, not unix) was due to the sheer number of poorly written programs available. Look at the reputation flash has - most of it is garbage because it is so easy to use and publish. Something like Director or autoCad has a much higher barrier to entry, thus the average results are better. As the computer world matures, people get more and more wary of junk software. So I don't think you can translate 'tons of free apps!' into a paying customers (like you could in the early windows days anyway). Maybe still in cell phones, but not on PCs I think. The other think is, just because your product is free, doesn't mean its everywhere. It probably saves you something like 20% of the needed push, assuming you even have something that many people actually want. What was the line from the dot com days? 'Sell at a loss and make it up on volume'. Well at least with software you don't have to sell at a loss (unless you are really 'selling' that is : ). Robin |
| Sun 01 Sep | Robert Moir | 'Chris has already pointed out why your Outlook Express analogy is similarly off. ' The analogy works just fine. I think he was pointing out to me that they are different technologies, which I knew already. As for the rest of it, the dev tools vs. user engine thing works both ways, does it not? The cost of the dev tools for a game console, while not cheap, are quite a steal vs the amount of money a hit playstation 2 game can pull in. |
| Sun 01 Sep | Robin Debreuil | 'The cost of the dev tools for a game console, while not cheap, are quite a steal vs the amount of money a hit playstation 2 game can pull in. ' No question, whew! : ). The trick is having the hit cover you for the two that broke even, the five that were dogs, and the others that never saw the light of day. Movies work the same... I think what you get with the high cost is a bit more predictability - the game will cost around X, if released you can expect a minimum of Y sales, if you buy exclusive rights to the NBA console game (or hire Harrison Ford), your costs and predictible revenue go up even more. By supermario III, or Episode IV, you can actually sleep at night it is so predictable. That's why Hollywood loves sequels, and software loves versions. Most businesses, even the fleeting entertainment industry, aren't looking for possible ways to increase their investment 100 fold in one shot. They are looking for sure ways to get 115% back within a year. That would usually be a well positioned product, a good marketing plan, and a solid execution. Dropping $200,000 on something with no clear revenue channel, but a 5% chance of wild success is crazy. You would be way better off taking the money, going to Vegas, and putting it all on one round of blackjack. 48% chance of doubling your money, and its a lot less work. Who knows, you might even get comp'ed a Wayne Newton ticket doing that kind of thing... |
| An alternative to Groove might be REBOL | Sun 01 Sep | Simon Mahony |
| I found a lot of similarities between Joels frustration with Groove and my frustrations with REBOL, a terrific O/S independant, embedded platform with a great little language. You can find it at www.rebol.com . Having played with it for a couple of years now, I can honestly say I think it has a great future, but I think theyre making the classic mistake Joel has spoken about by making it hard to developer for and costly to deploy. Dont get me wrong - the costs arent unrealistic in a commercial sense. Its just that I suspect that they could make all the money they want to make by charging consulting fees for customising the platform for big companies, and releasing the actual software for free. REBOL is both an internet language, and a platform for developing applications that run on just about every O/S from Windows and Linux to VMS and AS/400. They call it an Internet Operating System. It was built by Carl Sassenrath who built the Amiga O/S and countless compilers, and probably the best way to think about REBOL is as an O/S and languge which runs INSIDE whatever O/S you currently use. All the internet protocols are built in (except ping for some obscure reason). Its a system that has massive implications for wide scale collaboration (offering fully secure point to point and broadcast text communications) as well as being very useful on the local machine for writing utilities and custom programs in just a few lines of code. It has a wonderfully compact, interpreted scripting language that handles databases, GUIs, and a wide range of everyday data types including URLs and IP addresses. And yet, I have this awful feeling that its going to be another Apple Mac, or BETAMAX tape format, or OS/2. The platform that was built right, but failed because of shortsighted, money-first marketing. Even Microsoft evantually got it right when they started giving Internet Explorer away. They may not have the whole market anymore, but they sure make a hell of a lot of money out of what they do have. I hope REBOL Technologies realises this before its too late. Please give REBOL try. The basic REBOL language interpreter is a free download, and there are lots of free scripts available on the developer site www.rebol.org . You can even ask for a free evaluation copy of their amazing REBOL/Link product. If you like it as much as I did, I recommend that you lobby them (on their own forum) to give the platform away. The world could be a whole different place in five years. Cheers. |
| Sun 01 Sep | JGlantz | Rebol is interesting, but it's no Groove alternative. I looked at Rebol a year or two ago when there was some buzz about it. Rebol is interesting technology, but it's far from mature. I don't see how Joel could consider it for his CityDesk needs. For those who have never heard of it, Rebol ( http:www.rebol.com ) is one of those quirky, Scheme-like languages. It's not a P2P toolkit or platform, per se. If that's enough to turn you off, read no further. Rebol fits many nice features into a single small package. However, there isn't much in Rebol that isn't available in other mainstream tools (Java, VB, Perl, Python). To its credit, cross-platform support is one of the things Rebol does well, perhaps better than some popular languages. In addition to fixing the licensing issue, Rebol needs a lot of finishing work. How about a compiler, threading, or a real GUI toolkit (exactly which platform does that GUI match?)? Also, it would also be nice if Rebol had strong support for XML/SOAP. In sum, Rebol is good, but it's not great. With so many languages out there, I need a very compelling reason (profit motive) to invest in a new one. As Joel said, building great software takes 10 years. In my opinion, Rebol feels like it has a few more to go. My intent is not to bash Rebol. If you're a hobbyist or you enjoy exotic languages (Dylan comes to mind), Rebol is a solid choice. I downloaded it a year ago, and while I don't use it frequently, it's useful and interesting enough to keep around. |
| What's the point of run-times? | Sun 01 Sep | Frederic Faure |
| Hi, Ive always wondered why Visual Basic needed a run-time, even since a compiler was introduced (with release 5?) while PowerBasic or VBC++ offered a way to compile run-time-free EXEs. Why didnt MS offer a way to compile real EXEs? Fred. |
| Sun 01 Sep | Tony E | Probably because they would need to introduce some kind of intelligent link which would cost more in development time for them. Most VB stuff is for corporates who will have distributed the run time once anyway. In fact I think you'll find you get it with later Windoze or Office installs anyway. |
| Sun 01 Sep | Frederic Faure | Thx, but the question: what's the advantage of using a run-time-based env't instead of run-time-free tools like PowerBasic or VC++ ? Fred. |
| Sun 01 Sep | Troy King | Frederic, neither PowerBasic nor VC++ are runtime-free. Granted, PowerBasic doesn't use an *external* runtime, but it has one just the same. Just watch the compiler output when it tells you how much of the runtime is being linked in. The amount changes based on which language features you use. Also, ever heard of MSVCRT.DLL? That's the Microsoft Visual C++ Runtime. By default every app you compile with MSVC++ is going to use that runtime. You can avoid it by implementing a couple functions inside your app (such as _WinMainCRTStartup), but then you have to avoid all runtime functions as well. It can be done, but it's generally easier to just use the runtime functions. The advantage to runtime-required languages is usually the amount of functionality the runtime itself contains. Think about all the window-handling code you *don't* have to write with VB. Could MS make the VB runtime statically linked? Of course they could. I could never figure out why they didn't offer the option either. I know some folks have hooked VB's compile process to alter it; I wonder if a bin2lib converter and an altered VB compile/link would let you do it? There are a couple tools here and there that claim to do that for you... extract the relevant portions of the runtime and statically link them with your app There are also DLL remapping utilities (like Jeremy Collake's PEBundle) that will combine the DLL with your exe so you can distribute a single file rather than the mess of runtimes and external controls. I'm one of those people that Joel refers to as a 'neat freak.' I like small apps with low memory requirements. For that reason, I love PowerBasic. The one thing I *don't* like about PowerBasic is that I have to mentally convert documentation written for C programmers (MSDN, every book ever written) to PowerBasic (and remember the conversion rules) to do anything that's not built in to the language. Given the sheer amount of stuff that's built in to the language, though, I guess it's not as bad as it could be. I generally use PB for quick apps (especially where I need network code in a hurry), but C for my bigger stuff so I get the benefits of all the tools that have been written for C. That's the two big things that keep me from using PB 100% of the time -- the mental gymnastics required for doc converting, and the lack of professional source code utilities. I was a PB nut for about three years, but find I have drifted away from it as I began to value the mental ease of writing in the same language the docs are in. But in both cases, there is a runtime involved, so your question itself isn't entirely correct. |
| Sun 01 Sep | Andrew Simmons | 'Also, ever heard of MSVCRT.DLL? That's the Microsoft Visual C++ Runtime. By default every app you compile with MSVC++ is going to use that runtime. ' Surely you can simply avoid this by using one of the statically linked versions of the RTL? And if, which God forbid, you are using MFC, you have the choice of statically linked or dynamically linked versions of that too. Isn't the obvious benefit of the run-time option that it makes for smaller executables, and uses less disk space if more than one application uses the same run-time library? |
| Sun 01 Sep | Robin Debreuil | Well you know computers, another layer always has a use. What about bug fixing - if you botch the compiler (say some security thing) and it goes right to machine code, then you have to patch every program ever made with it. If you botch the runtime, you can just patch it. and then patch it again. and then again. and another patch... Well, better the runtime than all things installed anyway. Or all things that were made with that version of the compiler is more like what it would be -- oh, did you patch that for the 2.0231 compiler??! Oh no, that program was made with the 2.0236 Borland compiler, and that patch gums it up! Quick download the 2.0231 repair patch! Does that make sense? Or are you not meaning going right down to the machine level? |
| Sun 01 Sep | Matthew Wills | Frederic, http://www.mvps.org/vb/hardcore/html/efficientcode.htm - from http://www.mvps.org/vb/hardcore/ - should get you started. Click on the >> on the top right to read the next few pages as well. Thanks |
| Jet vs SQL Server for small apps | Sat 31 Aug | Troy Wolbrink |
| Ive been using both the Jet (MS Access) database engine and MS SQL Server as database back ends for quite a while. While SQL Server has certain advanages for enterprise level apps, I believe Jet has its advantages for small database apps. I dont understand the technical reason that Microsoft seems to be encouraging developers to abandoning Jet and move EVERYTHING into SQL Server. The reason I think Jet databases are ideal for small personal data applications is that the entire database is packaged in a single file that you can copy onto a floppy, send to someone else by email, etc. If you know how to copy a file, you know how to backup the database. I believe Joels City Desk uses Jet, and I also believe MS Money uses Jet, to name a few. How can a developer use SQL Server to create a small database application that stores all of its data in a single file that can be stored in My Documents, copied using Windows Explorer, and treated like any other document associated with an application? Would MS Money, for example, be just as user friendly if it switched to SQL Server? How? |
| Sat 31 Aug | Ryan Ware | Troy, I think they are doing it and going to MSDE because that has an easier scale up to real SQL Server. I am sure there are numerous small apps built in Access (Jet) that later become too big and it is a pain to upscale them. Correct me if I am wrong, but it will not be much more difficult to deploy the .adp on a machine with MSDE will it? Here is a link http://msdn.microsoft.com/library/default.asp?URL=/library/techart/acaccessprojects.htm |
| Sat 31 Aug | Troy Wolbrink | I forgot to mention deployment. I know MSDE is available as a free (limited) version of SQL Server, so I'm not talking money. But if I wanted to create an install program that does it all here are my options: JET 1) Install MDAC if needed (silently) 2) Install Jet 4.0 SP3 if needed (silently) 3) Install my program... done. MSDE 1) Determine if SQL Server is already installed. - If SQL Server is installed, can you just use it? - If not installed, can MSDE be installed silently? 2) Install MDAC? 3) Install program. |
| Sat 31 Aug | Robert Moir | Another way to look at it is a reduced time to market for improvements and a reduced overhead on development and support with only one product to cover instead of two. If I have 2 database technologies, both have 20 dev and 20 support staff. Now if i decide one of those technologies has reached the end of it's life i can merge those teams and drop one product i have doubled the support and dev teams on each - or i've increased the teams by 10 and taken the chance to fire some dead wood, and in theory at least with more developers and more support staff the products should improve and or get released faster and the support should improve - even if only in terms of more operators means less waiting time for customers. Which is not to say i disagree with you about Jet still being useful because it most certainly is. |
| Sat 31 Aug | Robert Moir | Ryan, as for scaling up databases, don't forget Exchange and Active Directory are both JET, and those can scale pretty damn well. |
| Sat 31 Aug | Troy Wolbrink | Ryan, your link doesn't really cover much, other than that you can create *.ADP projects in Access 2000. I have no intention of ever deploying a *.ADP project/application. When I say 'application', think more in terms of a real Windows client like MS Money, and not some Access database project with forms. In other words, leave *Access* out of this. I don't plan on using it. I only plan on writing a real windows application that talks to either a *Jet* or *SQL Server* backend. |
| Sat 31 Aug | Herbert Sitz | Just to clarify regarding the supposedly free licensing of MSDE: You get a license for MSDE when you buy a copy of Access. It is free, but it cannot be freely redistributed. You can get a license to freely redistribute MSDE when you buy a copy of MS Office Developer's Edition. But if you don't have a license for a MS Office Developer or you're installing onto a machine that doesn't have a license for MS Access, then you're violating the license provisions for MSDE. I think a lot of people believe MSDE is free for the taking by anybody, but I think this belief is wrong. Read the MSDE EULA. Whether Microsoft cares is anybody's guess, since I don't know of any easy way to purchase licenses of MSDE if you don't have Access or don't have MS Office Developer. |
| Sat 31 Aug | Alberto | If you design your classes properly and structure your DB interface in a logical way, upscaling from MSACCESS to SQL Server (or practically anything else) is a simple matter. I recently converted a very well written and designed VB/ACCESS application to SQL Server, it was a trivial conversion, replace some SQL with calls to stored procedures and everything else hung together perfectly. |
| Sun 01 Sep | Mike Gunderloy | Doesn't really matter what we prefer. Read the list of deprecated components in the latest (2.7) MDAC drop. Jet is officially dead now, even though I'm sure Jet 4.0 will continue to ship for a long time. But don't expect it to work well with coming operating systems and applications. |
| Sun 01 Sep | Albert D. Kallal | The MDSE is clearly distribute-able with you applications, and it is clearly royalty free. This is NOT the same as the single license developer version of sql. (that is NOT distribute-able, and it is also NOT the MDSE). There should be no confusion here. I think the only thing missing right now is the free download site (more on that in a second!) If you purchase any of the major development suites from MS, then you are encouraged to distribute and use the MDSE engine. These tools would include Visual Studio, Or even just the developer versions of Office, VB, FoxPro, and probably a few others I don't list here. Hence, the engine can be distributed free with your application. Not only that, but the package and deployment options for the *all* of above developer editions allowed the MDSE to be included as a AUTOMATIC install. In other words, the end user did, and does not even have to know you are using this server engine. If some other applications had already installed the engine...that also was handled. The follwing has a quick blurb on the Royalty issue Check out: http://www.microsoft.com/sql/techinfo/development/2000/MSDE2000.asp However, it looks like now that before this engine ever caught on, they are now discontinuing the use of it. The below link (only a few months old) states that the MDSE is no longer available. http://msdn.microsoft.com/vstudio/downloads/addins/msde/default.asp The above is of course is in the “downloads” section of visual studio. Hence, MS now states that the MDSE is NO longer available. Hence, you can still use it, but MS is not exactly throwing it out the door to get you hooked. This basically means that they will still provide a single user developer version of sql-server (that is for developers to play and develop with sql server), but they are NOT encouraging the use of the MDSE, which is something that is designed to be distributed to end users for free. While I make think that this is a mistake, it means for a lightweight and low cost database server product, I have to go else where now. Regardless, the MDSE was NOT tied to ms-office. The idea here was to make a replacement for JET, and also allow people to take advantage of features and benefit that a true database server gives over a file based product like JET. There seems to be a about face here. However, since the cost of databases are rapidly dropping (due to open source engines), then perhaps the sql-server will become so cheap as to not make much difference. It already has dropped below the $150 per user, and still dropping. There is not going to be any money in CAL’s soon anyway (I am talking about *just* database CAL’s here. Unless they throw in all kinds of way cool high end data analysis tools, the cost of a basic data engine connection will drop even further). In other words, it will be the other features that cost, and the per-user licensee values will continue their free fall. Given that licenses are rapidly getting cheaper and cheaper, then perhaps we don’t even need to bother the free MDSE anyway. I think even MS sees this (and thus it is no need on their part to continue with the MDSE). Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Sun 01 Sep | Janne | Albert, MSDE is not at all discontinued! I think you didn't read the page you linked to correctly. The link you refer to only says that the old version of MSDE (that was a stripped down version of SQL Server 7 and included with Visual Studio 6) is no longer downloadable. Instead, you can - and should - use the new version: MSDE 2000 - that is a stripped down version of SQL Server 2000! This version is included in Visual Studio.NET. |
| Sun 01 Sep | Albert D. Kallal | Thanks.. MSDE is alive and well. Check out: http://www.microsoft.com/sql/techinfo/development/2000/MSDE2000.asp Ok, now that we figure out all is well, we can now continue the debate!!! |
| Sun 01 Sep | Herbert Sitz | Albert -- You said: 'The MDSE is clearly distribute-able with your applications, and it is clearly royalty free. This is NOT the same as the single license developer version of sql. (that is NOT distribute-able, and it is also NOT the MDSE). There should be no confusion here.' Well, I think you're adding some confusion. You imply that anyone can develop apps using MSDE and freely redistribute MSDE. But in the page at the very link you reference, it says: 'Product Licensing Licensing for MSDE 2000 is handled differently according to the application it accompanies. Office XP Professional and Visio 2000. A single user license of MSDE 2000 is granted to licensed users of Office XP and Visio 2000. Office XP Developer and MSDN Universal Subscription. Developers who build applications on MSDE 2000 have the right to freely redistribute MSDE 2000 as stated in the EULA that accompanies Office XP Developer and MSDN Universal Subscription. SQL Server. For each MSDE 2000 deployment that connects to or accesses data resources of a SQL Server 6.5, SQL Server 7.0, or SQL Server 2000 database, appropriate licensing must be acquired, either by obtaining a SQL Server CAL for each MSDE 2000 device, or by obtaining SQL Server Processor licensing for the back-end SQL Server the MSDE 2000 devices attach to. ' The way I read that, you have a royalty free runtime license to MSDE only if you have a license of Office XP Developer or a MSDN Universal Subscription. So the circumstances in which you are free to distribute MSDE with your applications is clearly limited: only if you've got Office XP Developer or the Universal Subscription. And owners of Office XP Professional only have a license to use it on a single computer with a single user. So, technically, you can't even program for a client and use their license to enable a multiuser app. |
| Sun 01 Sep | MDBritt | There *are* a couple of additional aspects to Acces vs. SQL Server that should be mentioned. I just spent a major weekend geek-out making sure I've got all of these under control as I am looking to distribute an MSDE app soon. 1) MSDE distribution is much more difficult than Access distribution. Since the Jet engine is so widely distributed, you can often just copy the Access data file on to the end-users machine along with your app and know it will work. With the MSDE, there are many more installation and configuration issues to deal with. 2) In my app I have to use SQL DMO to ensure that the MSDE / SQL Server is running before the rest of the system starts up. This isn't an issue for Access since it is a file based database. 3) You don't just open up your MSDE database - you have to attach it to the server. 4) Security is a much larger issue in SQL Server. You must create (or use) a login and a user account (the login's permissions within your database). Also, you must ensure that your app has appropriate security going in. 5) You cannot access MSDE as a 'server' when it is running on 95/98 so pure 95/98 networks cannot be used when you have multiple users needing access to the data. All this being said, I think that the MSDE is a good solution for almost any app that will often see multi-user use. 1) T-SQL stored procedures are extremely useful for building applications. 2) You avoid having multiple network users vying for a file based db thus cutting down on corruptions and improving speed in a network setting. After dealing with Paradox ('index out of date') for 10 years, I found this to be crucial. 3) Your app can scale from standalone all the way up to near enterprise if built appropriately. 4) There are a variety of very effective tools for viewing and changing the SQL Server/MSDE environment available from MS. What are my lists missing? Mark Brittingham |
| Sun 01 Sep | Troy Wolbrink | Albert said, '... the package and deployment options ... allowed the MDSE to be included as a AUTOMATIC install. In other words, the end user did, and does not even have to know you are using this server engine. If some other applications had already installed the engine...that also was handled.'. I like the sound of that! Do you have any links to documentation to back this up? If this were true, this would take care of the deployment issue. But my nagging question is how to use SQL Server (MSDE) and yet make your app 'feel' file based. In other words, what would be involved in having a database file that you can double click on, have your app open it, attach it to the server, and when done detach it from the server, consolidate it into one file so that the user can copy the file to another location? (Maybe I just answered my own question.) |
| Sun 01 Sep | Robert Moir | 'But my nagging question is how to use SQL Server (MSDE) and yet make your app 'feel' file based. In other words, what would be involved in having a database file that you can double click on, have your app open it, attach it to the server, and when done detach it from the server, consolidate it into one file so that the user can copy the file to another location? (Maybe I just answered my own question.) ' If you want something to feel file based, don't implement it on a SQL server. I think it's that simple. |
| Sun 01 Sep | Albert D. Kallal | >>5) You cannot access MSDE as a 'server' when it is running on 95/98 so pure 95/98 networks cannot be used when you have multiple users needing access to the data. Actually, you can run the MSDE engine as a server on a win9x box. The only real issue that comes up is that the MSDE allows you to either use the windows security model, or ignore it. (the win9x boxes don’t have the same windows security as NT/win2k..hence you have to ignore it). I have a office 2000 cd here, and the MSDE engine is on the disk. I just popped it in, and It works just fine on a win98 box, and I can connect to the MSDE database via any box on my home network (that is a win9X network- win9x clients --- thus the comments that you can’t use it as a server on a win9x is WRONG). For some reason I had to use the ip address, and could not use the workstation name. My guess is that some wins resolution problem here, but regardless the clients on a win9x network can use the MSDE. It took me less than 1/2 hour to test this. In fact on my test computer, I used access97, and connected to the MSDE via odbc. It worked just fine (as mentioned, I could not use a named server, but using IP address worked). However, this debate is most interesting. Should one consider a small server? There are several issues here: Installing. (there was a question in this thread about using the MSDE for custom applications, and installing). A article with more details on use the MDSE as a embeded database can be found at: http://www.microsoft.com/sql/techinfo/development/2000/embeddingmsde.asp Products like the new Visio have dumped JET, and actually now use MSDE for data storage (in fact, Visio never used JET). Hence, it seems that these products will, and do install the MSDE engine. Joe’s many articles on eating your own dog food apparently does apply to MS, and they are now using MSDE in place of JET when possible. In other words, for applications that require some kind of database are now using MSDE in place of JET. However, the real problem lies in the fact that by the time a application gets to the point of needing a server, then one just upgrades right on to sql-server and skips the MDSE. JET is certainly fine up to 50 users, and credible developers have pushed JET well beyond 100 users when all factors are just correct. Of course, if you go over to the SQL newsgroup you will see all kinds of post weekly that their small JET applications run slower after upgrading to sql server. This just means that a poor design will not be saved by sql server. Hence, in the typical small business environment of 1-15 users, JET is thus fine. In fact, it is really good, and really cheap. This makes the product compete with sql-server in the low end market. So, for a general desktop application in the low seat range (say 1-15), should one use a server? CityDesk for example has a multi-user version. It of course relies on JET. Could/Should the CityDesk multi-user version use the MSDE?. The #1 problem here is of course ease of use, and memory foot print. The MSDE can be used as a completely non administered database, but it still is a software system that has to be installed, and setup (even if done automatically...which it can be). As I mentioned, the problem here is that the point at which it becomes real useful to use the MSDE, it is already time to use a true server. Hence, there is this kind of “Grey” area in which we flirt with the idea of using a server. In this Grey area the amount of extra work to use a server based engine tends to negate the additional benefits we get. As the MSDE gets better, and easier to use, and Moore’s law continues, then it becomes more and more compelling to use a server. In my hunt yesterday, I had few people email me, and mention that the MSDE 2000 is MUCH better then the old one. This makes sense, since the original was the first time around! At least my concerns about the removal of the MSDE were quashed! Of course the other issue here is that software is changing. Ten years ago we could walk into a client and develop a mailing list, and that was a big deal. Today, that same application has to talk to the accounting package, and often data must be exposed to the web. In these cases, then the use of a server even for a VERY SMALL business makes sense. This is because data on a server as opposed to being buried in a accounting package allows MUCH more integration. Hence, it is not necessary one of performance, or the number of users, but one of sharing and integrating data. Today, virtually every application I write has to talk to some other database system in the company. In this regards, a server is the only game in town. We must continue this process of moving data out of a application, and into a general based server product. The web is certainly driving this, but so is the fact that customers are much more demanding then ten years ago when they wanted a simple mailing list. Hence can we start using a server based product for very very low seats numbers? The answer is yes, we will HAVE to, and the deciding factor will be this issue of integration. In another 10 years, it will un-thinkable for any client to store data in anything but a server. This means even commercial products like Quicken, or Simply accounting will have open up their file formats. They will accomplish this by adopting a database server format. Hence, it will be *assumed* that the customer has a database engine, and all applications will have to work with those engines. Hence, you buy WinFax, or Quicken...they will store their data on a server. XML is a debate for another day..but this changes nothing. This is also why MS is even talking about wrapping the whole OS around a database. It simply is a issue of sharing data. Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Can someone please explain Open Source to me? | Fri 30 Aug | JWA |
| Hello All, One of the threads going on below made me realize that this would be a good forum to ask about something that Ive never understood, and that has never been rationally explained to me. Can someone please explain the Open Source community’s philosophy that every one (or every company?) is obligated to release their code to the world to me? Ive read a number of the manifestos out there, GPL stuff, etc. I understand that one component of the community is the desire to work together with a large widely-dispersed group to collectively build something great. I can certainly understand enjoying that. What I dont understand is why there has to be an anti-corporate, or more importantly (to them, I think), anti-profit feeling in the community. I guess in the scenario above, of just enjoying working as a group to accomplish something bigger than oneself, I can also understand the underdog mentality and the desire to show up the current masters in whichever venue. I am particularly baffled by the amazing number of loud public cries for Microsoft or any other large company to release their source code. Does a reasonable argument exist as to why Microsoft or any other company should morally or ethically be compelled to release their code? Why would anyone think that they have a right to the work developed by another person or group? Is there any other field where this phenomenon exists? I have never heard a mechanic say that they would like to build the ultimate car, so Its WRONG that Ford, Chevy, Ferrari, and Porsche dont offer all of their blueprints, plans, designs, research, and etc. freely to the public. Maybe that’s because cars are easy enough to touch and measure every aspect of the internal workings of the finished results, and then learn from them. What about cooking? It’s somewhat hard to determine with perfect accuracy the contents, amounts, and techniques used to create any type of difficult food dish. You can certainly try to reverse engineer it, and maybe work with a bunch of other interested people to try to improve the accuracy of the final guess. But is there anyone anywhere who thinks that a master chef is obligated to reveal all of their secrets? If I correctly understand these contentions, then the typical open source programmer thinks that Microsoft (as an example) OWES it to society to release everything they work for and develop to the word. Why would that be? This seems to me to be the largest underground anti-capitalist socialist / communist community operating within American society today. (Has anyone here read Atlas Shrugged?) Why shouldn’t every person take responsibility for their work and their accomplishments and create with what’s available to them both internally and externally? Why blame someone else for holding you back unfairly? Is that really what is happening? How? Otherwise it’s just an excuse, and an appallingly widely accepted excuse at that. Im an American whos lived throughout the country for all of my life until a year ago when I moved to Argentina for a temporary period while my wife has been transferred here. In that time Ive also done a lot of traveling throughout the region. Particularly due to the recent economic issues in this region, plenty of people are looking for explanations on how they got into this situation and how they should get out. My wife was also born in and lived in Cuba for 27 years. So, in the past year Ive heard all manner of theories on why capitalism, and even democracy, is bad. And Ive heard numerous proposals on the best way for society to work. Typically every one of these concepts, if taken down their natural, logical, progressions would result in the exact system that we have now. Whats interesting is that all of these philosophers are also interested (I almost wrote devout worshipers -- funny that thats a decent description for some, huh?) of open source. I am, and always have been, an entrepreneur and capitalist. I see no other way of living that would provide such freedom of expression and endeavor. Any other system that this world has ever tried has resulted in the loss of all personal motivation other than the motivation to overthrow that system. So, please, if its possible, can someone explain to me in a rational and logical way why it is that ANYONE, be it me, you, Microsoft, or anyone else is in any way obligated to give over their creation and development to the world? Im not looking for more religious wars with irrational emotional comments and illogical theories, but a simple rational and logical explanation, and maybe discussion, explaining these views. If it’s not possible to explain it in this manner than my assumptions about the motivations of the “Give me your code” Open Source followers will be reinforced. I hope to find some thoughtful responses. Regards, --JWA |
| Fri 30 Aug | Evan | You have to try to understand the Open Source movement in the era in which it florished. A lot of white, middle class kids became highly paid, pampered programmers, web developers, system administrators, etc. This led to the standard American white, middle class social liberalism, which is not that far from standard socialism or communism. Software is a highly pirated commodity, especially amongst those who know and understand computers and have access to the original floppies or CDRoms. So, you have the confluence of several streams of American social behaviour coming together to create an utopian computer movement: All software should be free, Everyone should give according to their abilities, and take according to their needs. That the mainstream proponents of this movement are/were highly paid benificaries of venture capital and the Internet boom, is ironic. And as a consequence of this movement, the target of this freeness has expanded to include Data. So, the rabid open source people think that there should be no such thing as copyright. And even if there is copyright, their infringement is a minor issue, as the authors will make it up by selling to the millions of other people who actually pay for their data. Communism is alive and well, and it is called Open Source. |
| Fri 30 Aug | Dan Maas | I have contributed to a few open source projects (including the Linux kernel), but I am currently working on a for-profit software project. IMHO availability of source code and making money from a software project are orthogonal axes. You can keep source code secret and charge for licenses (e.g. Microsoft and most other software vendors), keep the source secret but give the software away (most often 'players' and runtimes work like this - Acrobat Reader, RealPlayer, the Flash player, etc), make the source available but charge for a license (few companies do this; one example is Archaeopteryx and their Wing IDE), or finally make the source available and give away licenses for free (most open source projects). Several factors dictate which choice is the most appropriate. Do your customers want to have the source code for immediate bug fixes, enhancements, or security audits? Then you're better off making it available. Are you worried the competition is going to learn too much from reading your code? Then keep it secret. Is your primary source of revenue going to be license sales? Then charge an appropriate fee. Or is it more important to reach as wide a user base as possible, and then make money from services, developer tools, or advertising? Better give the licenses away. I think too many people have a narrow view that everything must either be source-available / for-free, or source-secret / for-profit. But there is actually a much wider spectrum of choices. I think we will start to see more companies thrive on new licensing models, such as the combination of making source available while charging for use licenses. (I am contemplating this model for my own project - I think my customers would benefit a great deal from access to the source code, but I still want to have my revenue come from license sales). |
| Fri 30 Aug | Sammy | It's an interesting story, and I hope I'm not too sleepy to help explain it. Open source can mean many things. Much of it is pro-business -- it provides free tools to integrate and help develop your products. Developers clamor for sourcecode, because it helps them build things, instead of having to constantly reinvent the wheel. IBM, Sun, and Apple have found free sourcecode strategically useful. Microsoft would too, except they are the current hegemony and have no real incentive unless they're attacking a new market. An older tradition, led by Gnu and Richard Stallman, argues for user freedom. Capitalism is fine with them, except when businesses strip users' freedom away for the love of money. There are always companies patenting trivial shit, then when everyone adopts them, they demand huge royalties to let you use files that you created, on your own computer. This is only for software. Stallman knows that he's not an expert on other things, and believes that manufactured goods companies need to keep secrets, because expensive factories are needed to serve people. But with software, it's all free -- creation, distribution. One can make a decent living without needing to take away everyone's freedom. Anyway, the world is now a pretty complex place with all these different forces. It's useful complexity, because everyone is kept in check. The beauty is that it's purely capitalistic. People always want cheaper prices but are also willing to pay for quality. Opensource does not change this. |
| Fri 30 Aug | Dan Maas | I should also add that even different parts of a single program can have different licensing models. e.g. many applications consist of a 'back-end' library or server coupled to a 'front-end' graphical interface. A vendor may benefit from pursuing an open source approach for one part, and a proprietary approach for the other. e.g. 1) The Satellite Toolkit suite by Analytical Graphics consists of a bare-bones number-crunching back-end with 2D graphics, plus an snazzy interactive 3D front-end. The back-end is available for free (though source code is not provided), while the front-end is sold under a traditional software license. The free back-end has reached all over the industry, which has converted into lots of front-end sales for the vendor. e.g. 2) The highly successful Quake games from id Software are designed as a 'back end' of game-specific code (rules, weapons, and monsters) coupled to a generic 3D display engine. The engine (plus the basic Quake game) is sold on store shelves, but the game code itself is freely available for enhancement and modification. And one major reason for Quake's success is the proliferation of free 'mods' (alternate games constructed from new back-end code) that this architecture allows to be created. |
| Fri 30 Aug | JWA | Those are good examples of the different marketing choices pursued by different companies. That all makes perfect sense to me. They made those choices as the best way to pursue their business plan and profit goals. I'm a bit of a student of innovative marketing strategies, and I appreciate some of the intelligent approaches that software companies take. What I don't understand is the rational behind the view held by some within the Open Source community (certainly not all, by a long shot I'd bet) that it is incumbent upon these larger successful companies to release all developments and innovations to them. Personally, I doubt that there is a rational argument for this concept that I could understand and respect as being logical. I am fairly certain that there is no way it could be reasoned out that I would agree with it, but I'm just looking to understand it and see if there's a respectable rational behind it. This forum is typically contributed to by rational and well-rounded individuals, which may mean that it will be a good source for this type of explanation, or it may mean that no one here subscribes to these beliefs. Regards, --JWA |
| Fri 30 Aug | Andres | Dear Evan, Open source has declared no wars, built no gulags, purged no cultures, killed nobody, censored no speech. Comparing it to communisn is so stupid it isn't even funny. As for JWA comments, you seem to be talking more about free software than open source, but anyway it happens in other fields, for example, some people like to build their own homes, what you can't do is download their home for your own use, so it isn't as visible. |
| Fri 30 Aug | Nat Ersoz | >> Communism is alive and well, and it is called Open Source. What a load of crap. There are plenty of companies trying to make and making money on open source software. Whether intentionally or by accident you have happened upon the writings of Richard Stallman. I once wrote him off as a wacko, but in fact the guy is on the right track when it comes to protecting speech and the rights which make America what it is. But moving on from Stallman, in particular, perhaps Eric Raymond might be a more presentable character - as he debated Stallman specfically on this subject. But y'know what? Screw that. Who am I to say is presentable? That's the whole point of 'OPEN' and Free (as in speech). Its a democracy and you're entitled to your opinion. Are you advocating a ban on that? Open source projects, like MySQL, RedHat's distro, Gnome, KDE, QT, Lynuxworks - just to name a few - are in it to make money. So is our little shop - we maintain the Linux boot screen, ecnrytping bridge and have made a few miscellaneous contributions along the way. And then there's IBM - a company with 4 times the anual revenue of MSFT. You can bet they're in it for the money. ORCL too - they're moving to complete support for Linux. Just because open source poses a real and credible threat to the revenue stream of *some* companies and perhaps your pay check... You get no sympathy here. As for the GPL, which is not the only open source license - it is just one of several. Perhaps you might read why Stallman supports it so vigorously: 'In 2000, Microsoft undermined the Kerberos secure login software in this way. They added a small secret feature to their version of the Kerberos software, simply to make it incompatible. The standard, free software version of Kerberos cannot communicate with Microsoft's modified Kerberos server. The result: anyone who wants to communicate with the Microsoft server software has to run Windows on his desktop. The Kerberos community was incensed when they saw this, but they had no way to stop it. Kerberos had been developed at MIT, and released as free software--but not under the GNU GPL. The lax license used for Kerberos was no bar to Microsoft's plans. If the Kerberos developers had released Kerberos under the GPL, Microsoft could not have undermined it in this way. Now Microsoft demands that we leave ourselves equally vulnerable in other areas. But defenselessness is not the American Way. In the land of the brave and the free, we defend our freedom with the GNU GPL.' As for this statement: Software is a highly pirated commodity, especially amongst those who know and understand computers and have access to the original floppies or CDRoms. Tell it to MSFT, who on 2 separate occaisions had to settle cases of software _piracy_ when violating licensing tems (softimage, I think) and stealing competitors software (stacker). The only ones I hear making 'loud public cries for Microsoft or any other large company to release their source code' are the opponents of MSFT in their antitrust trial. This is what happens when the defendant asserts that their case is dependent on a technical argument only resolvable through source code examination. And even that would be done under a gag order of the court. Perhaps another loud community of 'examine the source code' screamers are the MSFT customers out there who are sick and tired of bugs and security holes which take 6 months or more to be resolved. So much for the ragged edges of extremism as it related to open source - as these issues are on the exteme, for the most part - mostly they are of little consequence and I certianly don't expect much to come of it. Tim O'Reilly, an open source friend if ever there was one, wrote a well intoned letter admonishing against forcing Linux into government agencies through legeslation http://www.oreillynet.com/pub/wlg/1840?page=last&x-showcontent=text There are 3 interesting debates of consequence looming: 1. Should the GPL be applied to government research grants? 2. Should open source be legeslated? (Hopefully not, but it is becoming and issue in CA) 3. Should the US gov't force telcos to enforce national firewalling policies. IMO, #3 is a clear threat to freedom of speech and association. And because any operating system source provides the capability of circumventing provisions of the DMCA and derivatives, could effectively outlaw open source within US borders. Think that's far fetched? Today, if you ask for US geological survey information at your local library, you may be treated as a criminal under new security laws. Request a book, go to jail. http://www.npr.org/ramfiles/me/20020826.me.06.ram http://www.npr.org/ramfiles/atc/20020810.atc.02.ram http://search.npr.org/cf/cmn/cmnpd01fm.cfm?prgID=2&prgDate=04/11/2002 Download a kernel, go to jail? Hmmm. Finally, I'll tell you what the atithesis to the above 'You have to try to understand the Open Source movement in the era in which it florished.' statement is here: You have to try to understand the MSFT employee and the times of its existence. MSFT, the stock, peaked at $US 130 plus change in somewhere around 03/00. Now you've got an interesting mix of cultures in Redmond: Those with 10 or more years of vesting, who trip to France on the Concord over a weekend, take leaves of absence, and are regarded as high and mighty geniuses. And then, the lower classes stuck wondering 'when do I get mine'? When the answer comes back 'You Don't' or FYIV, then they start looking for someone to blame. Well, you can't bite the hand that feeds you, so go looking outside. What do you find? People writing code that is cleaner, faster, and often better market penetration than your giant MNC on a good day. Then, you can become Limgaughesque in your appeal - and who knows - you might even get a few NRA supporters on your side. A few toothless hillbillies toting 12 guages can always come in handy on a bad day. Peace baby. |
| Fri 30 Aug | Nat Ersoz | Sorry - spell it 'Limbaughesque' - Dontcha love the weblog - its like talk radio all over da place. |
| Fri 30 Aug | Robin Debreuil | Like or dislike the 'mandatory' open source ideas, there is definatly an argument for it with standards. The thing with cars, is the standards are in fact open, and usually set by the govt. The size of roads, the emmision laws, the saftey standards, steering wheel side, signal colors and placement etc. So if you build a car to that standard, its a level playing field. Move to computers, and the standards are often owned by companies. The word format, windows, swf, pdf, Mac OS, stupid patents etc. So there can never be a level playing field. I can make cars, but they aren't allowed to use roads. Or maybe more accurately, I can buy trains, but I can't drive them on others tracks. A big part of the reason there are anti-trust laws at all is the US experience with the railroads (worth a google if). It is a different situation now, but not without parallel... |
| Fri 30 Aug | Herbert Sitz | It was mentioned several times in previous posts, but I'm wondering whether it might have gotten lost in the noise: Some (very vocal) open source proponents to argue that any form of licensing other than open source is bad. Richard Stallman was the first of these people and has a number of 'disciples'. But I think they are in a minority, even though they are very vocal and make a lot of noise. Other open source proponents (most, I think) have no problem with the proprietary licenses for software, they just think open source is a neat thing. They're excited when corporations find the open source model fits with their goals (i.e., decide it can help them make more money), and are eager to help educate others about the benefits of open source. It's fine to write off the open source 'evangelists' who think all developers are morally obligated to release code under the GPL. I think that's a crazy idea myself. But just don't think that those people are representative of the general opinion among open source developers. They're not. |
| Sat 31 Aug | pb | I agree. I don't think I've ever seen anyone argue that there's an 'obligation' to make source available. So I think the premise of this whole thread is a bit off. Further, the more common automobile comparison is if the hood were welded shut and only Microsoft could repair the engine. |
| Sat 31 Aug | Nick Hebb | Obviously, there's no clear and overriding view of what Open Source is all about. From a recent article, 'The Linux developer lifestyle, exposed' ( http://news.com.com/2100-1001-954929.html?tag=cd_mh ), << Open-source developers tended to get involved with the movement out of a desire to improve their programming skills, but over time had increasingly material and political interests in open source, the report said. Developers tended to identify themselves as either allied with the 'free software' (48 percent) or 'open source' (32.6 percent) communities. 'Open source' is a more recent term than 'free software,' having been coined in 1998 to encourage a more business-friendly approach to the free software concept. However, the picture is not as polarized as this might suggest, the report said: Respondents ranged from saying that the two terms should be entirely separate, to saying that they were practically the same thing. >> Obviously there is a vocal minority that would like all (?) software to be open source. But, is it really all software that they're concerned about, or just Windows? A sliver of that minority may truly believe that all software should be open source, but I suspect they're really aiming at Microsoft. The analogies to cars, above, are interesting. Red Hat 7.3 pops up quotes and trivia during the installation process. As pb references, one of the quotes is (not verbatim): 'Buying an operating system without the source code is like buying a car with the hood welded shut.' I don't think that this is a valid analogy. In order to repair software you need access to the source code, but as JWA mentions that's tantamount to supplying the 'blueprints, plans, designs, research, and etc.' On the other hand, a car can be repaired without the manufacturer having to give away all their intellectual property. The specs and repair instructions in a car manual are more analogous to revealing the public interfaces in software. Bottom line, though -- I think that the majority of Open Source development has nothing to do with the political hype (and certainly not Communism - unless there's an Open Source PayPal that drains your bank account and disburses your funds to the underprivileged). I think that it's primarily about developers would want to strengthen there skills, pad their resumes, devote some time to a project they're passionate about, or simply to find a creative / intellectual outlet. |
| Sat 31 Aug | Krzysztof Kowalczyk | I think that your requirement for a rational explanation is too strong. It'll never be satisfied because people (including you) are mostly irrational. The fallacy in the way you phrased your question is that you start with the premise that rational=good, irrational=bad. I'm really not joking. A few examples: is love rational? Is believing in God rational? Is not believing in God rational? Going to church? Being a vegetarian? I think that in each case you'll find elements of rationality and irrationality. Vegetarian is a good analogy here because of the examples I've given it strikes me as the least rational. There's a weak case to be made that the food is healthier but that's the only argument I can see (ok, I'm not trying very hard). Yet it's a fact that there are people who just believe that killing animals just so that we can eat meat is morally wrong. Is this rational? Let's assume that you think it's not. Would you demand people to 'explain' vegetarianism to you in a rational matter? You don't have to 'understand' vegetarianism, but what you should understand is that there are things you don't have to or even might not be able to understand but the fact that you don't understand them doesn't make them less legit or inferior to things you do understand. And I don't mean to put you down - there are many things I myself do not understand, like being a vegetarian. Or being gay. Or a lawyer. I'll never be one and I'll never comprehend why would you like to be one. But I try to keep an open mind - I'm pretty sure there are people who couldn't imagine why one would like to be a programmer like me and I wouldn't like them to look down on me just because I've chosen profession that to them looks utterly dull and uninteresting. So let's go back to rationality in demanding that all software should be free. It doesn't do much good to collectively talk about a mass of people that can't even agree among themselves so let's take a particular and quite extreme example of RMS. The basis of his actions, and you can easily find relevant supporting evidence on http://www.gnu.org is a believe that it's immoral to forbid sharing of the software and to prevent learning from software. Everything else is just a commentary. If you look at GPL, it's designed to prevent exactly that (prevent anyone to ever forbid sharing a GPL-covered piece of software). Is this a rational belief? Not by a long shot. Can you find rational elements in that belief? Yes. The premise here is that when sharing of software is prohibited, it divides the society and creates anti-social behavior. As an example, not many think that if I don't give you a book I own then I'm a bad person. It's my book and if I give it to you you'll gain but I'll lose. If, for some reason, I give you the book none-the-less and don't demand anything in return, some would call me generous. But a software is a bit different. Suppose we're neighbors and the winter is very strong this year. Suppose I know a trick that keeps my house comfortably warm. You don't know that trick, so it's freezing cold. Should I tell you this trick or not? On one hand I won't loose anything if I tell you and you'll win. On the other hand I might demand a payment from you because that trick is valuable to you. Just like a decent capitalist would do. So I have a decision to make. I can be generous and tell you the trick for free. Most people would say that it's very nice of me to be so unselfish but that's not what a hard-core capitalist would do. Or I can be anti-social and let you freeze as long as you don't pay me for revealing the trick. Neither decision is 'rational' per se, there are good reason to tell you the trick (you'll like me, I'll feel good about myself, other people will think I'm a nice guy) or not tell you the trick (money) but whatever I'll do will be based more on the (irrational) beliefs I held. Or my current mood. When it comes to sharing software/not sharing software, there are similar trade offs. On one hand it's the fruit of your work so why anyone should have any right to it except you? And if they want it, they can pay you to get it. On the other hand if 2 people use a given program, the software is more useful than if if it's used only by one person. And if a second person starts using it, the first person doesn't loose anything. It's a pure win for the society. I'm not advocating here either approach, just trying to point out that the issue is more complex than the simplistic accusation of the kind 'they want me to open up my code'. If there is a thing that I wish more people would understand it's that RMS isn't anti-corporate or anti-profit in general just as a vegetarian isn't anti-personal freedom in general. The consequence of adopting RMS's beliefs is that *effectively* you loose ability to make a lot of money off software just like adopting vegetarianism *effectively* constrains your personal freedome (you can no longer eat meat). But those are just collateral damages. But you'll never 'understand' a vegetarian if the only question you'll ever ask him is 'why do you want to take away my personal freedom to eat meat?'. |
| Sat 31 Aug | Sammy | > What I don't understand is the rational behind the view > held by some within the Open Source community (certainly > not all, by a long shot I'd bet) that it is incumbent upon > these larger successful companies to release all > developments and innovations to them. Well, consider it an economic pressure, like price pressure. People often clamor for lower prices, even if companies think it will put them out of business. Even other companies will want you to change your licensing terms; Joel wants this to happen with Groove. With opensource people, they only seriously care when you control a technology that bars them from using computers. For example, Stallman got really pissed when Xerox forbade him to fix a problem with a printer driver. That backward, antisocial thinking led him to found Gnu. Really, it's not the technology that people want. Most programming is just dealing with tedium. It's the interfaces that are important. Another thread here shows people clamoring for Joel to open up an interface in his code, so they can buy his software and build things on top of it. They don't want him to open up all his code, but just expose an interface in a mutually beneficial way. They buy his product to add value so they can resell it. If Joel does not satisfy this demand, perhaps Pierre Walker might create a competitor and satisfy it. This is an economic pressure. It might not be a credible threat, but Joel could eliminate it by making a feature announcement to open the interface. |
| Sat 31 Aug | Ged Byrne | Lets say that Student X creates and app with major features A, B, C, D, E, F and G. He releases the code into the public domain. Student Y likes X's app, but needs minor features H, I and J. He releases the code into the public domain. Business man Z see the commercial potential of the app, adds a user interface and sells it to the world, keeping the source to himself. After a tiny amount of effor Business man Z gets lots of money. The two students get nothing. The market is poor, and they both end up working in McDonalds. They get together and add the user interface themselves and try to sell it, but Z threatens to sue them for look and feel infringment. There are two options to avoid this scenario. Firstly, you guide your source with your life so that nobody can rip it off. This is the model followed by Microsoft. Fair enough. They own the code, and can do what they like with it. Some people, however, do like to cooperate and aren't in it for the money. Open Source means that if I make any changes to code that somebody has kindly made available to me, then I too must make the changes available for the benefit of others. Its not about attacking capitalism or anything else, it just about being fair and not benefiting unfairly from the honest labour of others. |
| Sat 31 Aug | Andres | >> Open Source means that if I make any changes to >> code that somebody has kindly made available to >> me, then I too must make the changes available for >> the benefit of others. Not really, for example you have the BSD and MIT licenses which allow you to keep the changes secret, and they are both free and open source licences. This is what happened when Microsoft used Kerberos in Win2K. Other licenses, the main ones being the GPL and LGPL, make you release your changes if you distribute modified binaries, they are usually called 'copyleft' licenses. This is why MS wants to prevent goverment funded software from using the GPL and go for the BSD, so that they can benefit without giving anything back. |
| Sat 31 Aug | Wayne Venables | 'I am particularly baffled by the amazing number of loud public cries for Microsoft or any other large company to release their source code. Does a reasonable argument exist as to why Microsoft or any other company should morally or ethically be compelled to release their code? Why would anyone think that they have a 'right' to the work developed by another person or group?' Since this is the crux of the question, I can answer this quite easily. Microsoft is a confirmed illegal monopoly. The solution proposed by open source activists is that the code should be opened (such as code to generate Word documents) so that the grip that MS holds on the industry can be loosened. RMS' goal is to make all software open source. If you read the GNU website, he has many opinions on why this would be good for everyone. The average person understands that there is a balance between open source and closed source. I think, however, that the 'movement' will cause alot of companies to begin requesting the source code for non-shrink wrapped applications they produce. This will be an added cost (just as getting the Photoshop source files from a designer generally costs more than just getting the final images). This is because the guaruntee of return income (for modifications) is gone. 'Is there any other field where this phenomenon exists? I have never heard a mechanic say that they would like to build the ultimate car, so 'It's WRONG that Ford, Chevy, Ferrari, and Porsche don't offer all of their blueprints, plans, designs, research, and etc. freely to the public.'' Actually, there is a movement to 'open source' the diagonistic codes used in modern cars so that non-dealer mechanics can work on the car. Although there is a standard, it's incomplete and hard for outside mechanics to work on your car. So it does have analogies to other industries. Later, |
| Sun 01 Sep | Neil Stevens | It's important to distinguish your concepts here. Forget 'movements,' forget 'philosophies,' for they cloud the technical details. The software world has grown several dichotomies recently: * Free software vs proprietary software (a matter of licensing) * collective/'bazaar' development vs isolated/'cathedral' development (a matter of developer organization and development planning) * products vs services (a matter of business models). Which of the three are you referring to when you say 'open source?' Many involved with 'open source' software don't seem to have a clear understanding of the separate processes, frequently confusing the first two. Likewise, many people outside don't think it through, either. They frequently focus on the third, arguing against it, and then sweep away the other two. Now, there are some people who attach philosophical arguments to these things. Some people claim that collective development is somehow anti-capitalist. Some people claim that proprietary licensing is equivalent to slavery. However without clearly drawing out what issues are actually involved, it is impossible to discuss these rationally. |
| Sun 01 Sep | anon | One thing you can really say about opensource development is there's usually more trust. If the code is open, it's not like you can really hide much. If you look at the webpage for a normally successful project, it's honest. 'Ok we fixed the memleak, collecting suggestions for architecture enhancements for v3.0.' Whereas with good commercial sites, it's all like, 'Rebol is an OS REVOLUTION and veritable taste EXCITEMENT!' Look at the people at Java's Bug Parade, the place where people vote on what Sun engineers should fix. It's so pathetic, watching people beg and cajole and weasel Sun engineers to get off their asses and fix something. For the longest time on Win9x, Java apps would pop up a grotesquely ugly DOS box in the background. Since I think 1994 until a couple months ago. People would give Sun code snippets to no avail. Even now, Sun engineers respond to these bugs saying, 'I don't know very much about Win32 programming.' Not being able to fork is dispiriting. It turns adults into children who have knowledge but no power. It shows in the mood of the platform communities. |
| Sun 01 Sep | Javier Jarava | 'It's important to distinguish your concepts here. Forget 'movements,' forget 'philosophies,' for they cloud the technical details. The software world has grown several dichotomies recently:' --- A thing worth taking into account is that, at heart, the Free Software movement _is_ loaded with philoposphy. It's good to remember that its origin was the belief that it's bad and wasteful not to share information, because sharing information makes us all 'richer'. But, RMS being an expert solely on programming, he focused specifically on computer code. So I'd say it's _wrong_ to try to 'separate' the 'issues', because that is mistaking cause and effect. It's _not_ about technical details, it's about Freedom. You can read about it at http://www.gnu.org/philosophy/philosophy.html especifically, at http://www.gnu.org/philosophy/why-free.html and http://www.gnu.org/philosophy/shouldbefree.html Now, a side effect of that way of thinking is that the programs developed openly with a free license, are usually of a high quality. extremely cost effective and have an ammount of technical properties that make them desirable. But I think it's a good idea to be clear on the cause of things, and the _reason_ for the existance of the FSF is 100% philosophical. The Open Source Initiative has a more pragmatist way of _marketing_ the same ideas, but the basis for the Open Source Definition (OSD) is the Debian Free Software Guidelines, and both of them focus on the Freedom to share and modify. So it's also not a 'technical' argument. Just my 0,002 on the _whys_ instead of the _hows_ |
| Sun 01 Sep | Eric Debois | Its been said a few time now, but id like to emphasize... Open Source is not the Free Software movment. Open Source means nothing more than the words imply. |
| Sun 01 Sep | Robin Debreuil | The free software movement is about 1000's of people talking incessently about what free software is, most pretending they have some sort of legal expertise, and an unlimited knowledge of code. Open source is about 1000's of people talking incessently about what free software *does not have to be*. Suprisingly, most of these people also pretend they have some sort of legal expertise, and naturally also an unlimited knowledge of code. Commercial software is about programming or getting fired, so there sometimes a gap in communication there. Software is fun to write, especially when you are doing it for fun. Most people that write for fun couldn't be fucked to go to all the work of trying to sell it, and don't like the odds anyway, so they give it away. Other people who also program appreciate it, sometimes, and often let them know, somehow. These people generally keep all their mouths shut about philosphy, because they prefer programming, plus most of them had a bad experience with it at an early age. This would all be really clear to everyone, if it wasn't for that bastard Richard Stallman. He's produced tons of fantastic code, and yet still has the time and inclination to spout off his childish ten cent views in public. Damn. This is why we hate him. He's allowed our pastime to be hijacked by a pack of whiners, that pretend to code like him all week, and then pretend to defend IP and prosecute anti-trust cases on weekends, when in fact they generally just wandered over from alt.herbal.wicken.mensian.guru, or some such place. You know what - don't put a licence on the code you give away. Who cares. I've done it a lot. Who gives a shit what it says at the top, if in fact it just gets it the way of reading the damn stuff. Oh, but Microsoft won't give back, whaaaaahh. It's trrruuuuueee. Whaaaaah... My God, you are actually putting me to sleep. Zzzzzzzzzzzzz zzzzzzzzzzz zzzzzzzzzz zzzzzzzzzzzzz zzzzzzzzzzzzzz zzzzzzzzzzzzzzz zzzzzzzzz zzzzzzzzz zzzzzzzzz zzzzzzzzzzz zzzzzzzzzzz zzzzzzz. |
| Notes is Dead -- Long live Notes | Fri 30 Aug | Andrew Pollack |
| Yet another in a long line of articles that proclaim the death of a product with the #1 marketshare in the world. How odd. Im not sure quoting Ray Ozzie, a competitor desperately searching for a business model, saying Lotus Notes is just another email system without a future is a very valid way to make that point. Clearly, millions (something like 50 million) users would tend to disagree. Personally, I make a very good living developing applications with the Domino platform that have nothing whatever to do with email, and everything to do with public access. Yes, I come under fire daily from J2EE types and .NET types who bid to replace my system. So far in six years theyve spent 13 million dollars in more than 9 attempts, failing to produce the same usability and functionality at anything approaching the same cost. Finally, theyve given up. Ray is a brilliant guy, no question. But truth be told he never truly believe in the transition of Notes to a standards based server suitable for top quality web and intranet management. To him, that weakened the position of his beloved Notes client. Now hes gone on to another rich client of a different type. While I must say I agree with him that the web browser (miss-called the Thin Client) is a terrible place for an application, I must also point out that thus far Groove has no real business model. This is evidenced by the whiplash like back and forth nature of the distribution model. First it was partners, than that was dumped, then big cash from Microsoft which has failed to produce anything of note, now hes back to focusing on Integration with (but constantly downplaying) Notes -- oh, and suddenly their partner program is back in play. Lets face it, business models based on what the children are playing with are not new, and have failed repeatedly. Remember Apples grand plan to win the business world by having the kids grow up with Apples in school then bring them into the business world with them? |
| Fri 30 Aug | Eric Debois | A company I work for just decided to replace their ageing FirstClass mail system with 3000+ clients with Notes. |
| Fri 30 Aug | Jason McCullough | I totally don't get Lotus's market share; the look and feel of the application is horrible. I prefer Eudora Light for ease of use already. |
| Fri 30 Aug | A. Coward | I hope that Eric DeBois reports back in a year on how he likes Notes. I wish my company would drop it. |
| Fri 30 Aug | Troy King | The FAA (43,000 seats) is in the rollout phase of switching to Lotus Notes. A friend of mine is desktop support at the Oklahoma City campus (30,000 seats?) and he detests Notes. |
| Fri 30 Aug | Alberto | We use Notes at the Bank I currently work for - Yuk! All the good stuff is turned of by the Admin, and as a mail client it sucks big time. The menus make no sense, it's very difficult to find the simplest functionality buried somewhere in the non sensible menu system, and correct me if I'm wrong, my PC seems to work better when I don't have notes running, so maybe it's got a big footprint too. |
| Sat 31 Aug | Aaron Lawrence | Notes *is* big bloated and unfriendly. Nevertheless, it packs together a bunch of stuff that is difficult to reproduce with other tools. Examples: a cross-platform rich text editor for creating documents. A database server with built-in replication (with decades of experience in making it work well). An email system integrated to workflow and document databases. Flexible, rich security. Automatic web-serving and integration. Scripting languages. User-designed views of data. Nearly everything in it is implemented in ways that drive me crazy: inconsistent, non-orthogonal, incomplete, and ignoring typical methods of software development (like version control or releasing updates or comparing files). But, after all that, I find I can't really argue with it for value. I can, however, be astonished, that Lotus can't seem to figure out the weaknesses and fix them, because then no-one would even think about Exchange or rolling their own document management. |
| Sat 31 Aug | Andrew Pollack | I think Aaron really hit the nail on the head. Of course, summing it up I like to say that Notes is 'a really strange bird'. Learning to think like a real Notes developer is a tough skill, and that's the biggest down side to the product. On the upside, nothing compares to its ability to create applications for workflow, security, and collaboration. As a web development platform, I can make it do things in an hour that take J2EE and .ASP (or .NET) developers weeks or months. BUT -- I have to admit for someone who doesn't know any of the technologies I mentioned above, but has a programming background, I'm not sure I could make the statement that Notes would be a faster way to get there (for a web application). The learning curve is high, not for its inherent difficult -- in fact its really overly simple -- but for its strangeness in comparison to other products. The Mail client's ugliness has long been touted, but did you know there is a browser based access to the very same mail file? Know what you have to do to use it? Nothing, just point to it. It uses the same mail file. That design (iNotes Web Access) has won all kinds of awards for its user interface. Using a full Notes client for mail only, is like using a tractor trailer to go shopping. Its a waste of such a vast amount of power and capability, and makes the overhead seem like a waste. Did you know, howerver, that the Domino server can serve that same mail to you if you have an Outlook client? A web Client? A Eudora (or other pop3, Imap, or http client)? Do it that way, and you get this huge, rich, scaleable architecture for messaging, and quick, light, pretty clients. The huge market share is simple: It does more than any other product that is even remotely in its class, yet is vastly cheaper to run, install, manage, maintain, secure, and develop applications for. by the way -- I make my living with it. ;-) |
| Sat 31 Aug | Andrew Pollack | btw: Sorry for the terrible grammar, spelling, and typos in the messages above -- I'm used to use a multi-platform rich text editing environment that provides a full set of editing features, even on the web. ;-) |
| Sat 31 Aug | Richard Tallent | I'm a software developer for a consulting firm that uses Notes internally, so I get stuck with Notes projects along with applications built on .NET, legacy ASP, Access, Excel, and some industry proprietary platforms. I've seen some terrible platforms in my time, but Notes takes the cake and illustrates much more clearly than Groove the problem that Joel was trying to get across. As a platform: - There is no useable API (i.e., COM interface, OLEDB data provider) for integrating Notes with other platforms. NotesSQL is the closest I can find so far to some sort of data bridge and is buggy and poorly executed. - The script editor is terribly buggy and framed in to death. You can't use an external editor or IDE without copy/paste. - There is no freely redistributable runtime. - The UI is terrible, ugly, and slow. The properties dialog is constantly in the way and prevents switching between Designer and the Notes client. The built-in GUI widgets are non-standard, ugly, and some have little programmatic access (the Rich Text class is the worst of the bunch). - It takes 15 lines of script in a LotusScript routine just to instantiate enough variables to access the current document, database, session, etc. Comare to VBA or ASP where many intrinsic objects are global and ready for use. - The non-structured 'bag o' properties' concept is useful, but RDBMS guys like me REALLY want to have ways of normalizing our data and joining it in views. - Data in views are non-editable. Stupid. Users hate opening forms just to change a field, and *really* hate not having Excel-like copy/paste capabilities in views. - To take any control over the generated HTML output becomes a slew of workarounds and kludges. Fortunately you can hack CSS into there, but it isn't terribly intuitive. - There is no concept in Pages and Forms of server-side files, custom controls, or other features on web development platforms that make management of change reasonable. CSS and JavaScript references in the head are about as close as you get. - There is no way to construct forms or views programmatically (except, maybe through the C++ API). I'm a programmer, I don't like doing everything repeatedly in a visual designer. They need to create an XML DTD and expose forms and views (especially views) as editable objects. Oh well, I'm belaboring the point. BTW, Groove does have a 'free' version (the one I use for now), but it is limited in some ways and is officially a '90-day trial' for business use. I'm excited about their upcoming .NET API, that should help open gates to developers. |
| Sat 31 Aug | Robert Moir | Reading Richard's support for notes vs nearly everyone else who uses or supports it saying 'it sucks' makes me think that notes is only good if you can charge other people money for doing something useful with it. And I know thats not entirely fair. But it sure is interesting. And it's not just here we see this gap between notes developers and notes users. |
| Sat 31 Aug | Robert Moir | ack! That would be andrew the notes developer, not richard. Dangit! |
| Sat 31 Aug | Ranajit Ray | Andrew, >The Mail client's ugliness has long been touted, but did >you know there is a browser based access to the very >same mail file? Know what you have to do to use it? >Nothing, just point to it. It uses the same mail file. >(iNotes Web Access) has won all kinds of awards >for its user interface. Yes, and the R5 web template works badly too. Ever tried it on Konquerer? And the vaunted iNotes interface (at least the early beta I used) was ActiveX crap. I get *much* better results running Notes on WINE :-( ...the only folk who'd call Notes' interface good are those used to IBM mainframe greenscreens all their life :-| Fundamentally, Domino has some pretty nifty tricks up its sleeve (replication is sweet, .nsf is very interesting as a format, the security model is good, the API is good for groupware) but is totally let down by a dorky, unlike-anything-else interface and a forms model that is antiquated and suffers from real usability problems -- Notes 'smart' icons, anyone? And the fact remains that Outlook's Digital Dashboard API allows far greater customization of welcome screen than Notes' LotusScript API. For what is used across many orgs as a glorified PIM, this is a serious problem. Domino's http engine scales poorly too. Weblogic would blow it out of the water anyday. |
| Sun 01 Sep | Evgeny Goldin | Lotus Notes is the worst piece of software I've ever worked with. I don't give a damn about 50 million users or market share - it just yes, horrible. In all means. |
| Sun 01 Sep | Andrew Pollack | I'd like to try to respond to a few of these points. The sumation of them comes down to this: (1) If you are not a notes developer whos spent serious time developing in the product and learned its quirks, its not a product you're going to like right away. On the other hand, once learned, you can build more secure, more interactive, and more functional applications much faster and cheaper than with any other platform. I've bet on this several times, and always won. (2) No other platform does all the things Notes does built in. None. That means with anything else, you're having to build bridges for one aspect of the application or another. Either security, or workflow, or data storage, or whatever. More bridges = less security. Below I'm responding specifically to some good points brought up by Richard Tallent. Richards use of the product is clearly enough to have a good understanding, if not total mastery of it. His points are ones I hear quite frequently, which is why I'm responding to them. RE: No API (ie. COM, OLEDB etc..) --- Sorry. Notes is fully exposed through COM. Not sure where you are looking. RE: Script Editor - Vastly improved in the release that his the streets this quarter RE: No Runtime -- You're right, but I'm not sure there should be. RE: I agree on the U.I -- But the upside, is you get a trully cross platform U.I. By not taking the Windoze stuff as the only U.I, they can run on other platforms. Java suffers the same problem/advantage set here. RE: Well, or 1 line of formula language, or 1 script library, (BTW: I can get any of the things you name in 2-4 lines of script. Not sure what you're doing. RE: DB guys want to normalize data -- I strongly recommend staying with an RDBMS for that. Notes reads/writes to them easily enough. RE: Data in views non-editable -- Check out the public beta or wait till the D6 is released, its all editable. D6 is due out this quarter. Not sure if I can share the actual promised date so I will not here. RE: To take any control over the generated HTML output..... Agreed. This is tough, but getting better. The product was doing its job long before there was a web, and adapting to be a leader in that technology is taking time. RE: ....no concept in Pages and Forms of server-side files, custom controls, .... actually, there are many corellary features, from subforms to script libraries. Though its not a 1:1 comparison. RE: no way to construct forms or views programmatically (except, maybe through the C++ API). ---- Actually, the entire file is now open as you suggested through a DTD and XML. You can read/write/change design and data elements, all subject to security. |
| Apple Development Support Really Is BAD | Fri 30 Aug | anonymous this time |
| Apple has spent decades making life miserable for their developers. -- Joel I am a Mac developer and want to say AMEN TO THAT JOEL!!! Apple are such bastards in this regard. They must sit around for hours trying to figure how to ream developers in the most sadistic way possible. Apple - 2.5% of the market share! OK, as a hardware vendor they are comparable to gateway in size and can stay in business. But the situation is DIFFERENT for the poor deluded dipsh*ts such as myself who develop for this miserable pathetic platform. The other 97.5% of the market is THIRTY-NINE TIMES BIGGER. What it really boils down to is you have to sell a $100 program for $3900 to justify its development, or you have to have 39 times fewer competitors and the same % of customers in order to recoup your development expenses *IF* (big if) your cost of development is the same. But its not. I have developed for both platforms and I will say witnhout a doubt that Microsofts developer tools are not only better than Apples but at least 10 times and perhaps 50 times better. An application that takes a year to write on the Mac I can write on the PC in 5 weeks. Apples documentation is among the worst I have seen. Inaccurate and they refuse to document their bugs. This is a huge difference. I hate asses like Jobs who coverup their problems with denials and acting like they are perfect. MS does not act like they are perfect. They document their bugs and provide workarounds in a nice easily accesible database which they provide at a nominal cost. I hate Apple and I love Bill Gates. There. I said it. |
| Fri 30 Aug | Mike S. | I agree with you. I am a WebObjects developer and their documentation sucks. |
| Fri 30 Aug | Sven Galli | 'Apple has spent decades making life miserable for their developers. Every new OS for almost 20 years required tweaks and changes to application code. If you got too successful, Apple competed against you' As I read this, I thought to myself, 'You sure you don't mean Microsoft, instead of Apple?' As a windows developer, MS is a constant source of frustration for me. OTOH, my problems occur because I code on the 'fringe' of the API -- trying to get it to do things that aren't, shall we say ... straightforward. If Apple's really worse, I feel sorry for you guys. |
| Fri 30 Aug | Eric Debois | Apple could make life so much easier if they released their desktop as opensource. It would probably get ported to Linux and various BSDs in a matter of weeks and all of a sudden it would be commercially sound not only to develop for Linux, but also for Mac. But yeah, I know. They wont. |
| Fri 30 Aug | Chris Hanson | I've been writing Macintosh software for over a decade, and I haven't found it anywhere near as bad an experience as when I've done Windows stuff. I find your statement that you could do in 5 weeks with Microsoft's crappy tools what would take you a year on the Macintosh completely laughable -- it's obvious you're either talking about a very specialized project where Microsoft has already written everything for you, or that you're not nearly so experienced as you claim. Apple has been shipping free developer tools for years. In the Mac OS 8 days, you could download MPW - the development environment that Apple used internally to develop the operating system. (Of course, most developers paid a couple hundred dollars and got Metrowerks CodeWarrior because it was so much better and came with the PowerPlant framework.) Nowadays, you can download Apple's suite of Mac OS X developer tools for free, and the Cocoa framework is the best framework for developing desktop applications on the market. I talk about Cocoa development on my weblog at http://www.livejournal.com/users/chanson ; recently, I've been talking about how I'm rewriting portions of the Entperrise Objects Framework to make Cocoa development even easier and faster: http://www.livejournal.com/talkpost.bml?journal=chanson&itemid=23674 http://www.livejournal.com/talkpost.bml?journal=chanson&itemid=26551 http://www.livejournal.com/talkpost.bml?journal=chanson&itemid=26759 http://www.livejournal.com/talkpost.bml?journal=chanson&itemid=26984 |
| Fri 30 Aug | anon | 'it's obvious you're either talking about a very specialized project where Microsoft has already written everything for you, or that you're not nearly so experienced as you claim' Well it's neither -- I've got over 25 years experience. I guess next you'll claim I'm incompetant. |
| Fri 30 Aug | anon | 'Apple has been shipping free developer tools for years' I am aware of this and it does not factor into my argument. (Although I don't agree they actually 'ship' them, but rather make them available online.) If you want them to actually send you stuff, you do have to pay for it. MS also gives away free developer tools and sometimes they even ship them free. I got a set of MS .NET development tools from them in the mail free last year -- I suppose they saw me listed in some Apple developer list and wanted to make sure I was hip to the MS Way which is to Make the Developer Happy or at least don't shaft him in an obvious manner. |
| Fri 30 Aug | Also anon | I learned to program on the Mac (bought an SE new for about $3K) and I loved it. My first job as a Software Engineer was Mac development. But I finally moved to Windows in 1995 after years of lies from Apple... OpenDoc, Cyberdog, KeyChain, Copeland, and so on. I found an enormous universe of technologies, sample code, magazines, online resources, third-party components, etc. It was like reliving the enjoyment of learning to program all over again. |
| Sat 31 Aug | Masterlode | To tell the truth, when I was still actively programming, programming on the Mac was much easier than Windows based programming. I speak from using BASIC, Pascal, C/C++, Java, Visual Basic, Visual C++, and Visual J++, and even Borland's C++Builder/J++Builder/Delphi. The crux of it was that as far as I was concerned, in any program I ever wrote, I either wrote every single line of code, or I used a standard template library (C/C++ and Java). Now, I will admit to being inexperienced by comparison to most people since I spent a total of 6 years programming, starting in 8th grade. But most of that time was self taught. That time also includes a stint at a web site company setting up a SQL server in 97. I was not hired to be a programmer for them, as I did not know the language. However, in 3 weeks, I was one of the programmers on the project despite the fact that I lacked the knowledge to code even a single line. I became a programmer because of my grasp of the algorithms and methods to accomplish data managment. In my time as a programmer, I found the Mac infinitely easier to work with, simply because I did not have to worry about the code I wrote being subverted and distorted by the system. I also have to point out that of all of the methods (read IDEs and programming environments) I have used to program, the easiest and most powerful tools I have used are Codewarrior in combination with the Apple dev tools, or a text editor with a freeware compiler (djG++ and gcc). Anyone who thinks programming for Windows is much easier, is either blind to the sheer f***ery of the Windows environment, as I have found out to my great discomfort. One notable incident regarded mouse events. I wrote code to basically tell the program to display a location for a mouse click on the window. While the code worked properly on Windows 98, the same code was non-functional on any subsequent Windows environment. Any real programmer either codes it by his own labor, or, when using external code, risks problems from unknown interactions. However, when I wrote the code for the mouse events, I had written the same program on the Mac, with no problems, and I had written a version for 3 programming languages (Pascal, C/C++, Java), each version working properly on the Mac. However on Windows, the Pascal version, (properly translated to the OS) worked fine for all versions of Windows even as the other versions did not. I found out that the reason for my problems was the difference in how Windows and MacOS interact with programs. Windows is like a console system, and any external (non-system) code is run through the system to perform the tasks. The Mac does the same thing, with one crucial difference. The Mac uses standardized libraries and methods. Windows does not. Hell, Windows even changes some very important libraries constantly (directx, activex). |
| Sat 31 Aug | Robin Debreuil | 'Any real programmer either codes it by his own labor, or, when using external code, risks problems from unknown interactions. ' You had me till that line : ) |
| Sat 31 Aug | Charles Miller | How can I get a free copy of Microsoft developer tools? I am an independant developer interested in writing software that runs on Windows, and I can't afford Visual Studio. |
| Sat 31 Aug | Charles Miller | (Just to qualify my previous post) At this exact moment, I'm writing software using the (free) Mac OS X development tools. Earlier today, I wrote software using the (free and open source) Eclipse Java development environment. In fact, the only platform I've ever owned but _not_ developed for, is Windows, because the only free developer tools I can get for it are the cygwin stuff. Joel has some great insights, but he has a tendency to twist reality to suit his theories. In 'Fire and Motion', Microsoft's constantly switching targets are an advantage. In his latest missive, Apple is the company with constantly shifting targets, and Microsoft benefit from being solid as a rock. It's true that Apple's shifting targets have hurt developers. I went to a tech-talk on Tuesday where one member of the audience cornered the evangelist with 'I was an OpenDoc developer. Why should I believe you're going to keep supporting Java?' Howerver, Microsoft's dominance hasn't anything to do with it playing this particular game any better -- just ask a VB programmer who has to retrain for VB.NET. |
| Sat 31 Aug | Robin Debreuil | the .net sdk is free. It includes the compilers, docs, and the entire framework. Maybe you should do a bit more research before commiting your carreer next time. He he, just kidding ; ). |
| Sat 31 Aug | Charles Miller | Ah, nifty. For some reason I thought the VS tools were the only ones available. I had a bad experience a year or two ago when a product I was writing needed about twelve lines of C++ code to join two systems together, and my employer had to go out and buy Visual C++ in order to make everything compile. If I was wrong then as well, I guess I should apologise to my boss. :) |
| Sat 31 Aug | Frederik Slijkerman | Borland also has made Delphi and C++ Builder available as free downloads. They're Personal editions though, meaning that you can't use them to produce commercial software. |
| Sat 31 Aug | a mac developer | I have been developing on Mac OS X using the Cocoa framework for the past year and I don't think that Apple's developer support is as bad as people make it out to be. Apple does provide free development tools available for download, you can also pick up a copy at an Apple Store. Their documentation has improved vastly over the past year, at least their docs for Cocoa. There used to be a lot of 'Description Forthcoming's in the docs, but now that has all but disappeared. There is also a helpful community of Cocoa developers (including many NeXT veterans and Apple engineers) to answer questions on Apple's developer mailing lists. Overall, I am satisfied with the level of support Apple provides to its developers, at least its Cocoa developers. I haven't reallly done Carbon or Classic development can't speak for developers using those APIs. 'I have developed for both platforms and I will say witnhout a doubt that Microsoft's developer tools are not only better than Apple's but at least 10 times and perhaps 50 times better.' I haven't used VS.Net yet, so I can't comment on that, but I personally think Apple provides a pretty good set of dev tools with ProjectBuilder and InterfaceBuilder. YMMV. 'An application that takes a year to write on the Mac I can write on the PC in 5 weeks.' It looks like you are trying to start a flame war. 'Apple's documentation is among the worst I have seen. Inaccurate and they refuse to document their bugs. This is a huge difference. I hate asses like Jobs who coverup their problems with denials and acting like they are perfect. MS does not act like they are perfect. They document their bugs and provide workarounds in a nice easily accesible database which they provide at a nominal cost.' An easily accessible bug database would definitely be a good thing for Apple to have. Usually I just search or post to Apple's developer mailing lists to verify bugs. I have seen on more than one occassion an Apple engineer confirm a bug. 'I hate Apple and I love Bill Gates. There. I said it.' Umm, OK buddy. |
| Sun 01 Sep | luddite | But the situation is DIFFERENT for the poor deluded dipsh*ts such as myself who develop for this miserable pathetic platform.
The other 97.5% of the market is THIRTY-NINE TIMES BIGGER.
anonymous this time
technically true but you have presented the facts in a way that somehow misses an obvious truth.
What % of the apple market do I have to sell my software to in order to make a decent profit?
....its *very* small.
Although comparing the market % of apple vs microsoft is an interesting exercise, the fact is both markets are easily big enough to support developers.
I live in New Zealand, the entire country contains around 3.5-4 million people, rather less than the total number of apple users.
Yet it still manages to support companies selling products in industries where the overheads are a lot higher, and the profit margin per sale is a lot smaller.
The plain truth is that any developer who cannot make a good living developing software for the macos platform is incompetent, lazy or just plain not trying very hard.
'it's obvious you're either talking about a very specialized project where Microsoft has already written everything for you, or that you're not nearly so experienced as you claim'
Well it's neither -- I've got over 25 years experience. I guess next you'll claim I'm incompetant.
anon
This idea fascinates me, what exactly do you have 25 years experience in?
I work and communicate with both mac and windows programmers, the primary platform that I develop for is the macos, but I also do cross-platform versions of things where the client believes this is necessary (which happens fairly often ;(
One thing I have noticed is that, as a rule, mac programmers love developing for the mac, and love using their computers. Windows developers, OTOH, tend to intensely dislike the windows platform. Their main justification for staying with it is either the size of the market, or the fact that all their experience lies there. (Both of which are perfectly good reasons of course :)
|
| High Stakes no prisoners | Thu 29 Aug | Former Frontpage user |
| Any feedback/comments on this book to share? |
| Thu 29 Aug | Evan | No. |
| Thu 29 Aug | James Ladd | Comments on what now ? |
| Thu 29 Aug | Jason Awbrey | 'High St@kes, No Prisoners' is a book by the founder of Vermier, who developed Frontpage and sold it to Microsoft. I read about 6 of these web-bubble post-mortems last year, and this was one of the best. I can't remember the authors name, but he was pretty blunt about taking the blame for a lot (but not all) of the mistakes made by the company. Particularly interesting was his discussion about CEOs. Apparently the VC's backing the company wanted to hire a professional CEO to replace him. The guy they finally hired only lasted a few months before they ended up selling to MS, but used that few months to basically load up on as many benefits, insider loans, and stock options as he could. Given the current atmosphere of corporate corruption, this is particularly interesting. Overall, very good book. |
| Fri 30 Aug | tapiwa | thought to self - can't wait to see the Phil Greenspun story on the rise and fall of ArsDigita |
| Fri 30 Aug | Sven Galli | tapiwa, I've received an advance copy of that book, and I'll post it here for your convenience. 'It wasn't my fault. I'm a genius, they're idiots. Would you like to purchase one of my pictures?' |
| Fri 30 Aug | Katie Lucas | I finished reading it, put it down and was struck by the thought that, contrary to popular public opinion, there are people on earth that spend a higher percentage of their time in arguments than I do... and this guy is one of them. Respect due for making so much money, but if it really did involve that much stress, it was probably rather poorly paid work all things considered. |
| Sun 01 Sep | Sammy | What do you want to know? Basically, all industry programmers should read books like this to know how to handle management types, and how to calm a crying CEO. |
| Royalty Free Components | Sat 31 Aug | anonymous |
| Joel, I dont get this point: Anybody who ever tried to sell software components (ActiveX controls, beans, etc.) knows that you have to have a royalty-free runtime or no developer will touch you with a 10 foot pole. Microsoft even lets you redistribute Jet, a complete relational database engine that is 9/10ths of Microsoft Access, for free. Heck, its preinstalled on Windows 2000. --- Without going into details, my company has a SDK. (There are currently no other SDKs on the market which do what ours does.) We had been giving it away for free, but recently we started charging $X/developer. I suggested that we also charge a small amount of money for royalties for the run-time. This way, obviously, if an application was created which uses our SDK, and it sells a lot of copies we would make some money. To me, this is JUST LIKE WINDOWS! Microsoft doesnt give away Jet! People have to buy windows to use Jet, so Jet becomes yet another cool feature of Windows and another reason to develop on the Windows platform. |
| Sat 31 Aug | Frederik Slijkerman | No, that would be like paying royalties to Microsoft for each application that you launch under Windows, or for each document that you create with Word. |
| Sat 31 Aug | Troy W | When you charge royalties to use your components you are putting a burden on the developer (not the end user) to administrate this. If a developer writes an application that requires Windows, they don't have to pay Microsoft anything to use their runtime (Windows). Charging royalties for components puts the burden on the developer to make sure each customer has a legal license. With Windows, the customer has to make sure they have a legal license. Also, what if a customer has two applications which use your runtime. Does the customer have to pay for two royalties or one? |
| Sat 31 Aug | Evan | Anonymous,
Start looking for a new job.
Now that you are charging for your SDK, especially with a runtime charge, you have opened up the competitive field to other companies that can duplicate your SDK and sell it in the manner in which the marketplace desires: One time charge (or free), and no run-time royalties. Someone may even decide to Open Source it.
Unless you area is so specialised that no one can enter it (highly unlikely), then you have just given your competition the weapons in which to wipe you out.
As I go looking for developer tools and components, if some product wants a run-time royalty, they do not even get a look in. Immediate hit on the |
| Sat 31 Aug | Wayne Venables | 'This way, obviously, if an application was created which uses our SDK, and it sells a lot of copies we would make some money.' And since so much money is being made it suddenly it makes alot more sense for me to just develop that in house and drop your SDK. And not just cause of the sheer cost, but as has been said the administration adds to it as well. I'm really just adding my 'me too' to Joel and most posters on the list. No matter how neat or cool the product at the first mention of run-time royalties I'm gone. It's just not worth the hassle. Later, |
| Sat 31 Aug | anonymous | All good points that I hadn't thought about. Take note though, I had only suggested royalties, this pricing scheme had not been accepted by the business folks. Thanks, I was wrong to suggest royalties and I will point that out to the business folks next week. Thanks. |
| Platform Business model | Fri 30 Aug | Brian |
| Ok, some thoughts and question here about whats the business model for developing a platform? For MS Windows, its obvious now. They get money for their OS from the end user (hidden in the cost of the computer). How long did it take for this model to come to fruition? Anyone know how long it was between a freely redistributable Windows 1.0 and when people started to pay for it? Sun is supposed to get their money for Java from - where was it? - hardware JVM support? Anyone know how this is working out for them? But at least this one I understand, since they dont have to give away what they hope to sell in the future. So Groove should give away their sole product until it becomes popular enough for people to want pay for it? How long will that take? And does anyone think that by the time it matures to that point, there wont be a free Gnoove (I get credit for the name if it takes off!) platform ready to compete with it? Why or why not? How should a company move from producing (creating, selling and marketing) an application to producing a platform? |
| Sat 31 Aug | Krzysztof Kowalczyk | Application vs. platform doesn't have to be a binary choice. Groove is really two things: - an implementation of p2p architecture - an application that uses this architecture to provide useful things (Groove desktop thingy that contains various groovelets like file sharing, collaborative notepad etc.) Groove could and should allow people to easily use their p2p architecture. That could be separated out of Groove as a set of redistributable dll's that app developers could bundle for free with their apps. Groove would still sell their own app the same way it does now. The problem for Groove Inc. with that model is that it lowers a barrier to entry for competing with Groove app. So they might have a smaller share of the 'apps using Groove p2p architecture' market. The opportunity here is that it creates a bigger market for everybody so Groove might end up netting more. Competition also drives innovation. Groove has a head-start but they would probably have to try harder (I played briefly with Groove and was very disappointed with the lack of features of groovelets; those were almost toy apps). Usually competition works well for everyone involved. If they don't push their platform, someone might get fed up and re-create their p2p architecture on better terms and that might get more momentum than Groove p2p and then Groove will be in serious trouble. I have additional beef with Groove ( http://radio.weblogs.com/0109158/2002/06/06.html ): it has state-of-the art p2p architecture but the apps they've built so far on top of that architecture are third-rate. |
| Sat 31 Aug | Robin Debreuil | This is a very very excellent topic. It is often assumed that once your platform is popular money magically follows, but is that the case? We should really examine some platforms here. Windows - makes money by selling the software itself, but mostly by making applications on top of it. MS has and advantage over other because it steers the platform, and has the earliest access and experience with it. It uses this to create new standards like office that aren't open. The platform is mostly bundled with new machines at a cost, but somewhat invisibly. Hardware vendors have been more or less forced to include it in the past. Swf - Open format, valid platform. They make money by selling the only legit tool to make swfs. Others who try aren't given the full spec, and more importantly, aren't given the upcoming spec until the the new version of the tool is released. So things like scripting enhancements will always be one version behind. It is given away via the net, and lots of work is done to make it installed on every browser/device/os etc. There have been failed attempts to get revenue out of server tools for it in the past - most revenue still comes from the tool. There are also sales due to bundling related products like dreamweaver/fireworks, which all share a common interface. Pdf - I'm not certain of the openess of this, or revenue - there is the tool, and then potential licencing from ebooks or publishers? Helps to sell related adobe products too, common interface too. (in fact a lawsuit to stop M from using its interface, so maybe that is key here) MacOS - Lock on hardware and OS, competes in software with an advantage like windows does. Arguably a more closed platform, but nothing like things like playstation etc. Playstation - probably loses money on hardware, but gets a cut on software. It also totally takes developers to the cleaners, charging 100,000+ for the equipment and software needed to make a game (it kind of refutes the 'give away the sdk theory, no?'). It also has very very strict control on ok'ing a game, standards, quality etc. Still at the top of the game market, and started from zero in a market dominated by others, so you can't ignore this model. Java - give away the platform, and the dev tools, and quite a bit of control. Not sure about revenue...? .Net - give lots away, sell the tool, own the future OS, but give up some to standards like ecma...? Obviously this is also trying to be a circle play around java, so it isn't just revenue, though there are revenue streams in their obviously, as it is clearly an MS centric thing. Rambus - set an open standard and then secretly patents parts of it ; ) others? corrections? failed platforms? I think if you are planning to give away your platform, you better have a clear idea of how that will bring revenue. I don't think its a given that a popular platform will make you cash. |
| Sat 31 Aug | Krzysztof Kowalczyk | 'I don't think its a given that a popular platform will make you cash.' It certainly isn't. But it does give you a tremendous edge and in extreme cases it can *help* you to achieve astronomical, unheard of success just like Windows *helped* Microsoft. I emphasize *help* because, as you said, it really isn't a given. If Microsoft was otherwise lousy company it would end up like Commodore Amiga (which commited a crime of not investing in the platform and making it difficult for people to develop). There's no free lunch but having coupons certainly helps. But look at Netscape, they had extremely popular platform and failed spectacularly. |
| Sat 31 Aug | Albert D. Kallal | While maybe the windows runtime became free, the platform it was running on was not (dos). Hence, the giving away of windows runtime was certainly to help people use windows, and at the same time it made the dos platform more valuable. Today, they give away DOS, and you now pay for windows! There is also something else very important here. While you can give, or make some tools away for free, there needs to be one other ingredient here. There is a great lesson that MS’ realizes here, and even Eric Raymond in the Cathedral and the Bazaar points out. In Eric’s book (Cathedral and the Bazaar) he points out that simply deciding to create and release a open source project will not take on a life of its own unless it has some functional use already. In other words, a open source project will not succeed unless the *EXISTING* product has some use, and users will adopt it. This same lesson actually applies in the business world of software. Joe’s example of the JET engine is a perfect example. JET has several things going for it. 1) It is a very capable little database engine 2) It is free 3) (and this one is most important) – EASY to use. Microsoft for the last few years has been trying get developers to drop the JET engine, and adopt the free sql-server engine. This newer database engine is also free, and it is 100% compatible with sql server. Not only is the server engine free, but it has all kinds of additional features over and above JET, such as server side code, triggers, transaction playback etc. Why then is no one using this fabulous and free database engine? (we are talking about the free MDSE engine from MS?) In fact, I see more people using MySql with Microsofts ’own products over MDSE! Why? Out of the above 3 reasons, #3 is the problem. I have in the past installed MySql, and also the MDSE on my pc. It was a much better experience when I installed MySql (so much for that myth about open source stuff not being easy). Not only that, the MySql had all kinds of stuff included to get me up to speed. Right after you load MySql, you can start playing with the engine. It is fun, and rewarding right out of the box. When you load the MDSE, it just sits there, and you can’t play with it. Why oh why did they not package the Enterprise tools with the MDSE I will never know. The MDSE could be a wild success with us developers, but we just don’t bother, since no other tools are bundled with it...big mistake. (MS has the right idea...but bad execution here!). So, in addition to giving away the “runtime” or the free engine....don’t forget to give some functionally also. This applies to both platforms or software. Hence, that is why Joel does gives away City Desk, and it has full functionality. A great way to get us all hooked. Platform or not.....you got to hook em.... Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Sat 31 Aug | anon | I don't think Sun ever had a 'strategy' for Java beyond 'this is something really neat, and it'll mightily piss off Microsoft'. That said; as with any good idea, Java has found its niche and Sun is in a great position to exploit it, being the creator and holder of all the keys. Cross-platform, cross-appserver-portability hype aside, the real Java money is coming from bundling a triumvirate in one package. Big expensive hardware, big expensive application-server software, and big expensive consulting bills to turn the first two into big-business applications. This is where IBM is right now with its Java offerings. Selling its hardware range, plus the Websphere suite of products, plus Global Services (which just consumed PWC). This is where Sun is going with its hardware, and SunONE, and strategic partnerships for the consulting side. And they're doing it quietly and quickly. Sun were _nobody_ in the J2EE market six months ago. Last month they replaced Websphere as the Java technology of choice at Australia's biggest telco, and they're pushing aggressively into the banks. Expect, in the next year or two, the final death of BEA as a force in the Java market. BEA are irrelevant now, they just haven't quite worked it out yet. In the really-expensive enterprise sphere, Sun and IBM will duke it out with each other, and with .NET. Down below, Orion and its pals will continue to operate in the low-budget range, competing with open-source projects like Tomcat and Jboss. |
| *CityDesk* is a platform | Fri 30 Aug | Chris Sells |
| As nice as CityDesk is for the developer who knows HTML and what a template-expansion language is, making people know about that stuff is limiting its market. Id like to use CityDesk as a platform to sell my templates and my web site building expertise to customers that would be able to write articles, but thats about it. However, to build web sites the way the clients want, I need to be able to extend the CityDesk UI, database and content generation, i.e. I need to build on the platform that CityDesk provides. As an example of where I need to extend the UI, I need users to classify each article with a certain number of keyword values, e.g. foo(bar) vs. foo(quux). Right now, theres no way in the UI to let them pick keyword values from a list or check that they entered one of each or even that they got the capitalization wrong! And when it doesnt work, itll be me that has to fix it. As an example of where I need to extend the database, I need to keep a list of mappings between keywords and URLs so that I can generate links to related articles. As an example of where I need to extend the content generation, because I cant extend the database or because I need data external to the CityDesk file, I need to write something into my CityDesk templates that reaches out to some code I wrote to return a bool for branching, a collection for looping or some content. Please recognize that CityDesk is a platform for ISVs building content-driven web sites to clients that cant afford the big boys and please open it up for customization. Thanks! |
| Fri 30 Aug | Chris Altmann | I was under the impression CityDesk is more for them (the enduser/client), not you (the developer). |
| Fri 30 Aug | TK | Thinking about the application/platform categorization of CityDesk makes me dizzy. And I'll bet it keeps Joel awake at night sometimes. Should there be a free CityDesk runtime that developers could distribute with their .cty file? I don't know. I'll have to refer to Joel's 'Commodity' article. But if I consider Joel's 'It takes ten years…' and 'Platform' articles together, I expect future that future CityDesk releases will contain many features that will be very helpful to developers and their customers. I hope so. |
| Fri 30 Aug | pb | CityDesk is not a platform. |
| Fri 30 Aug | William Frantz | CityDisk *should* be a platform. I agree with Chris Sells and I have been thinking about this almost non-stop since I first installed the demo version of CityDesk. 'CityDesk, The Application' is a fill-in-the-forms-presto-you've-got-a-website application. End users don't have to know anything (much) about HTML to write articles for CityDesk. It's great, but you will notice that there is a specific 'news room' bent to the whole product. Authors write 'articles' that have tag lines and teasers. It's as if the application was designed for people that publish e-zines or run news sites. 'CityDesk, The Platform' is an engine for merging HTML layout with content. It has a unique layout language that incorporates variables and control structures (for-next loops). It's mark-up agnostic as I can create the layout in HTML 3.0 or XHTML 1.0 or even plain text. What I can't control is the forms! Give me control of the forms and I will have a real platform. Maybe I don't want a news room website but rather an on-line store. The store owner wants to enter items for sale with descriptions, stock numbers and photos. Sure, I might find a way to make this work using the 'article' paradigm, but it would be an awkward fit. I'd rather make my own forms with fields that map to my own variables and then merge that data with my own HTML templates to generate a complete site. CityDesk is soooo close to that. I would love to use it as a platform to make web site creation applications. I would then roll out web-site-in-a-box applications for different types of users like teachers, doctors, salesmen, families... Each type of user has slightly different needs and requires an application taylored to their paradigm. I've used CityDesk to create a nice little site for a realitor friend of mine. I would like to simply turn the layouts and the software over to her so she can maintain her own site. She'd have control of the content but the layout would be locked in. CityDesk doesn't quite get me there. I need a run-time that takes my .cty file and allows an author to fill in forms but doesn't allow them to change any of the layout. I need to be able to present her with an *extremely* uncomplicated interface that she can just fill in text boxes and hit 'publish.' CityDesk needs to draw a distinction between the website designer and the content author. The authors should be treated as computer illiterate. |
| Fri 30 Aug | pb | I would expect FogCreek to at some point make the fields user-definable but I still wouldn't consider it a platform then. |
| Sat 31 Aug | Pierre Walker | What you guys are saying sounds really interesting. I was thinking about writing a program similar to citydesk using C#. I'll post updates of whats going on. |
| Joel's Platforms essay | Fri 30 Aug | Stan Krute |
| As always, excellent. Thanks. |
| Fri 30 Aug | Dan Sickles | Thanks Joel. A runtime, better documentation and better tools would make a HUGE difference in the adoption rate of the Groove platform. I will not buy in to their partner program. I shouldn't have to. They should be busting their back ends to make building Groove applications easier than for any other platform. They do a great job of complacency immune security. Let's see if they can make it porting-effort immune and ramp-time immune for developers. And you are right on about Notes. I lived in that world for many years. |
| Fri 30 Aug | Ryan Tate | A great essay as always. But two questions from a non-techie: -What's an 'NLM'? -If Groove charged for the version with collaboration, as Joel suggests, wouldn't CityDesk be back to square one vis-a-vis peer-to-peer site collaboration? |
| Fri 30 Aug | Jeff | 'What's an 'NLM'?' Netware Loadable Module. Basically (and very simply) a program that ran on Novell's network operating system (Netware). The basic Netware did file/print services very well but wasn't a general purpose operating system (like Windows or Unix). NLS's allows 3rd parties to write applications to run on the same box as the server (like a database or a mail server). There were/are very few compilers capable of generating the NLM executables and there was limited support in Netware itself for the NLMs. IIRC, on at lease one version of Netware the NLS ran in ring 0 along with the operating system... |
| Fri 30 Aug | Dan Sickles | and I don't use VS.NET and I don't want to buy it just for Groove. If it was a sunk cost then great! |
| Fri 30 Aug | Sarain H. | Much to like and agree with about this article. And I can certainly see Joel's interest in providing Groove services in CityDesk for the customers who have been requesting them. And I can see that you'd want to keep your cost of adding these services as low as possible. Is there perchance a middle-ground? One that allows you to respect the work the author of groove has put into his work. After all, I recall that you are not a big proponent of free software yourself... you're not giving away CityDesk for free, and I don't think you should. Why not incorporate the Groove features as an optional plugin? Users who want all that 'CityDesk Net Collab Pro' has to offer can pay a bit extra for the extra features, which they should be glad to do after all. You get to provide the services you want to provide without having to go to the trouble of writing them yourself. Groove's aouthor gets paid. Your customers are happy. Everybody wins. |
| Sat 31 Aug | Robert C. | Very interesting article. Another good exemple of 'too greedy vendor' can be found in the WAP example. The Telecom operator (at least in Europe) didn't want to share the wonderful projected revenue from m-commerce and other mobile data business. Result: WAP is a huge failure (services are terrible, so no user, so no revenue, so no one wants to invest in it any more) On the opposite, Japan DoCoMo created the plaform (i-Mode) and made it easy to develop for it => i-Mode is a huge financial success for DoCoMo |
| Sat 31 Aug | Richard Tallent | I just posted under the 'Notes is Dead' topic something that should have probably been here. I agree with Joel, and believe that is exactly why .NET CLR, VB.NET, and C# will become a powerful platform--it is cheap and easy to develop for and is built around developers. It isn't perfect (the chasm in code compatibility between VS and non-VS developers comes to mind), but for a 1.0SP2 environment it kicks butt. There have been three times I've had the most fun programming, and this is one of them (the others were hacking my CoCo II with 6809 machine code and using Turbo Pascal to write TSRs). Notes, OTOH, is the worst platform I've ever dealt with, bar none. Everything from using the client to writing script is a tribulation of bad documentation, useless help, unfixed bugs, ugly design, a clunky UI, and silly, short-sighted limitations. More of my rant about Notes' platform is over there, but I just wanted to contrast it with Groove, where at least they make an effort to have a redistributable (in the form of the limited 'free as in beer' version), are working on a .NET API, and have overcome some of the most frustrating aspect of Notes (e.g., Domino). Groove hasn't taken off as quickly as I had hoped, but I think it has much more promise than Joel gives it credit for. |
| Sat 31 Aug | BDKR | Great as usual. I still consider myself a newbie in this field (after 5 years of work) and it's allways great to hear the perspectives of those that have doing battle longer than you have. Keep kickin' 'em out! Thanx, BDKR |
| WISE vs. InstallShield | Thu 29 Aug | Tim Lara |
| Both have been around for a while, both are pretty expensive for an individual to afford for non-commercial purposes, both support Windows Installer Service (.msi), and of course, both claim on their websites that the other product is terrible... Does anyone feel strongly that one is superior to the other for anything other than UI / nitpicky reasons? Better yet, does anyone know of a cheaper (or free!) alternative that would be perfectly adequate for building user-friendly, no-brainer setup packages for Windows? I dont really need anything all that fancy as I am mostly interested in automating the setup/upgrading of run-of-the-mill VB or Delphi based business apps that we use in a grocery store chain. Also, it doesnt really matter to me whether the install builder integrates with any particular IDEs or not, if that opens up any choices. |
| Thu 29 Aug | Michael H. Pryor | Free. Excellent. Awesome. InnoSetup - we use it! http://www.jrsoftware.org/isinfo.php |
| Thu 29 Aug | Ricardo Antunes da Costa | Take a look at Setup Factory http://www.indigorose.com/products/setup_factory1.php I don´t know if it´s cheap, but it´s a good one. |
| Thu 29 Aug | Anonymous Coward | Try SuperPiMP ( http://www.nullsoft.com/free/nsis/ ) from Nullsoft ( http://www.nullsoft.com/ ). It is free and imho easier to use and more powerfull than Installshield. |
| Thu 29 Aug | chris | I agree with Michael... InnoSetup... 100x easier to use than InstallShield |
| Thu 29 Aug | James Ladd | I can not comment on Wise as I have not used it, but InstallShield is very cumbersome to use and I would rate myself as pretty experienced. I will be checking out the posted links to find an easier tool !! I would also be thinking twice before doing any more work with installshield, especially if there is an alternative. Regs, |
| Thu 29 Aug | Ryan Eibling | I'll also chime in here on behalf of InnoSetup. It's extremely simple but does everything I need it to do. Not only that, but it's free and the complete source code is available. |
| Thu 29 Aug | ns | Be aware that there are multiple products with similar names. WISE Installation System is a traditional script-based installer, whereas WISE for Windows Installer creates .MSI setups. My recommendation is: if you don't specifically need Windows Installer support, stay away from it. It can be exceedingly complex, especially when it comes to upgrades. Windows Installer is a holistic system. It first determines what the final installation 'should' look like and then it makes your disk match that. This is quite different from 'copy files to the disk' of traditional installers. It stores GUIDs in the registry, including GUIDs for every component (often for individual files), and it needs to refer to these in order to apply upgrades later on. This makes it tricky to whip up quick scripts to install a few files -- you can, but unless you get everything right (GUIDs) you will have problems in the future. The MSI is cached on the local disk so if you replace a file with a newer version without proper GUID-ness, don't be surprised if it gets 'repaired' to the old version. |
| Thu 29 Aug | Jan Derk | I the danger of being redundant: there's only one real installer and it's called Inno Setup. I know many people will skip free software because it's free or because it's created in Delphi, but if you do it in this case you will seriously hurt yourself: http://www.jrsoftware.org/isinfo.php |
| Thu 29 Aug | Tim Lara | Thanks everyone for all the great responses! (Positive word of mouth is a HUGE time-saver when you're an OCD sufferer with access to Google...;-) |
| Thu 29 Aug | Chris Tavares | I've never used InnoSetup, but I have looked at it before. Have they added extensibility hooks yet? I've never written an installer where I didn't have to do something unique and call out to a DLL or something. Inno didn't appear to have that capability. NSIS does, so that's what I've been using. |
| Fri 30 Aug | Joel Spolsky | As Michael said we use InnoSetup for CityDesk and we used it for FogBUGZ 2.0. For FogBUGZ 3.0, which is a server/web/database type product, we needed: * the ability to enumerate IIS web servers and virtual directories, recursively * the ability to create NT accounts * the ability to create and configure SQL Server databases * the ability to assign permissions throughout * the ability to create and configure IIS web servers and virtual directories * the ability to do an end-to-end test of sending and receiving email which runs under a different user account * the ability to start and stop services * the ability to install a new service No setup program on the market could do any of this stuff. Faced with the fact that 90% of FogBUGZ setup (basically, everything except copying files) would have to be written as custom code anyway, we decided to do the whole thing by hand in VC++/MFC rather than learn some proprietary and unfamiliar scripting language, which might require me to jump through hoops to get to the Windows APIs for things like creating users or running processes as another user. We'll still use things like Windows SETUP apis to copy files (from a diamond cabinet in a resource so setup.exe is self contained). |
| Fri 30 Aug | Serge Wautier | Just wanted to add my opinion about Wise : I'm a rather long time user and quickly became addicted to it (by comparison to InstallShield which I found horribly complicated to use). To anyone who needs to make a choice between Wise and IS, my answer is a strong and loud WISE ! Of course, I don't mean that alternatives such as Inno Setup are not worth checking or cannot be better given a specific context. |
| Fri 30 Aug | Serge Wautier | Joel wrote : > we decided to do the whole thing by hand in VC++/MFC > rather than learn some proprietary and unfamiliar > scripting language http://www.exemplarsoftware.com 's setup toolkit might be of interest to you. It is a MFC-based framework for creating installers. Note that I have no clue whether it's good or not. |
| Fri 30 Aug | anonymous | Does InstallShield still have 'Package for the web'? What a pain. In my opinion, I agree that it was cumbersome to use. Wise Installer on the other hand has a single click 'compile' which gives you your single setup exe file the first time - very reliable and straightforward (the way it should be). I would definitely recommend it over InstallShield. |
| Fri 30 Aug | Brandon Knowle | I second Serge's opinion. Several months ago I was faced with choosing InstallShield or Wise. 30 minutes with the InstallShield demo and I was utterly confused. Ended up going with Wise Installer for Windows. IMO both are overly complicated due to the underlying Windows Installer 'platform'. Be ready for a sizeable learning curve. But... based on what was posted previously, I'll DEFINITELY be checking out Inno Setup for future development. |
| Fri 30 Aug | Clay D. Nichols | My vote: WISE Wise (version circa 1998 or 99) is incredibly easy to use. Don't know about the current versions. The 1998 version was so easy to use and (reasonably) powerful that we've never needed to upgrade. I almost feel guilty. I looked briefly at the new version last year. Seemed equally good. Good tip on the Script version vs. Windows Installer. I'll stick with the simpler version. |
| Fri 30 Aug | Bella | Wise? Please. How VB4 of you. How can you make a case to PAY for wise? Cost/benefit folks...Cost/benefit |
| Fri 30 Aug | Jan Derk | Chris Tavares wrote: 'I've never written an installer where I didn't have to do something unique and call out to a DLL or something. Inno didn't appear to have that capability.' Sure it does. You can either run your own program that does all the weird stuff in the [run] section or use Inno Extensions: http://www.wintax.nl/isx/ Or you could modify Inno Setup and recompile, because it is open source ;) Jan Derk |
| Sat 31 Aug | Aaron Lawrence | I voted for Wise. I looked at what was needed to build a Wise setup using automated methods, and compared it to Install Wise, by examining default simple setups. Wise appeared to be very simple: just a single text file, with an odd scripting language in it. Install Wise created a huge directory structure that immediately put me off. InstallWise also makes a huge botch up of single file setup.exe - this 'package for the web' thing. Every time I use an install created by that method I get confused. First they unzip the setup (with a little dialog to ask you what to do) then they run the real setup wizard. However, InstallWise, though more complex, has more support for such things as command line builds, which is handy for automation; whereas Wise *can* compile from command line, but only gives GUI errors and feedback, so it's pretty useless if there isn't someone sitting in front off it. |
| Sat 31 Aug | Peter Hoffman | We have used InstallShield to ship our software and our customers hated the huge overhead. About 10% of all installations failed (mostly on Win95/98 and NT SP4-SP6). This was a nightmare. We switched to Linder SetupBuilder (www.lindersoft.com) and more than 200,000 installations worked fine without any problem. The overhead is only 170KB and SetupBuilder supports binary patching. Thanks God there is no dependency on MSI! There will be a brand new version 5.0 (with script support) in 4Q 2002 and as I understand it the upgrade will be free of charge. We are a Fortune 500 company and have purchased more than SetupBuilder 200 licenses. |
| Sat 31 Aug | Frank Brown | Some month ago we switched from Wise to SetupBuilder. http://lindersoftware.com or http://www.setupbuilder.com Reason: we were not interested in paying $229.00 for a Wise upgrade and another $199.00 for (Email) support. |
| Sat 31 Aug | Peter Barry | I had a VB6 application that I distributed with ISExpress 2. The whole install set was about 4 MB. I upgraded to ISExpress 3.53 and my install set is now 8 MB. Some of my customers only have a 1.44 MB disk drive (no CD-ROM). Know what? You cannot create such 1.44 MB disk images with ISExpress 3.53 (InstallShield tech support told me that this is a .MSI issue). This is a serious problem for me. Both Wise 9 and SetupBuilder 4 can compile the very same VB6 installation into < 2.5 MB! What's the problem InstallShield? |
| Sat 31 Aug | KJK::Hyperion | InstallShield? too fragile IMHO. The installer of its runtime depends... on the runtime, so if it doesn't like your system setup for some reason (the runtime depends on a ton of stuff that is just assumed to be there - not a wise choice for an installer, if you ask me), no InstallShield for you. Long live WISE. Better, long live plain MSI PS: *always* provide an alternative, possibly unsupported, distribution in a zip file with manual installation instructions. Windows installers (except MSI, maybe) don't really get the point, and are doomed to fail, sooner or later. Kerio, VMWare, Connectix and countless others have lost a potential client because of their stubborn faith in InstallShield ('reinstall your system' my ass, save this lame answer for the clueless) |
| Sat 31 Aug | KJK::Hyperion | Some clarifications. First: I strictly speak from an end user point of view, I think the most important, since I am the 'audience' for your setup programs. Second: I don't think, like my previous message could suggest, that MSI is the 'silver bullet' (still, it never failed for me). Third: the answer is 'it depends' It depends from the program you have to install: - device driver? don't bother using an installer at all. An INF script will do. And remember not to confuse 'control panels', 'monitors', etc. with the device driver itself, like most printer driver vendors seem to do (thank God Windows 2000 comes with its own lean and mean, no-nonsense printer drivers. Too bad they take a 'lowest common denominator' approach) - command line utilities? zip file. The user will know better than clog up the system directory with EXEs and DLLs (I have created, respectively, D:\wbin and D:\wlib for the purpose). Else, you're targetting the wrong users - desktop software? i.e. something that gets installed and used on a single, non-networked machine at a time, like CityDesk? InnoSetup is the way to go, WISE if you feel like paying. Avoid NSIS like plague, it feels like a dive in the middle '90s. Don't bother using MSI, unless you want to allow per-user setups, that work perfectly in Windows 2000 and beyond (even if you use OLE classes, something that - AFAIK - was not possible at all before), and MSI handles very well - workstation software? e.g. Office? MSI. Windows was made for LAN environments, and MSI fits in the role perfectly. Just look at the features (publishing, replication, on-demand install, etc.). If MSI isn't enough, you may want to review your design, and try to get rid of that kind of backward-compatibility crap that InstallShield was specifically designed to handle - server software? not much experience on this, but after a very positive experience with Apache I'd suggest MSI. Avoid cheap-looking InstallShield 5 (and this means you, MySQL) Never, ever use InstallShield 4 (16 bit core) or InstallShield 6 ('InstallShield kernel'? how much longer before it sends e-mails?) |
| Sat 31 Aug | JD | This one is compact and kewl, http://www.nullsoft.com/free/nsis/ JD |
| J2EE, .NET - what was before ? | Thu 29 Aug | Evgeny Goldin |
| Hi, Im a relatively young developer (25) witnessing the rise of the server-side enterprise technologies like J2EE and .NET which makes me wondering how world existed before those frameworks were developed ? I mean, there *were* enterprise applications long before Java and .NET - how were they build ? Using what language ? Thank you ! |
| Thu 29 Aug | Paulo Caetano | The problem has never been the language, but rather the services you had available, i.e., how much functionality does the system provide 'out of the box', and how much must you build from scratch. In ohter words, what kind of foundation do you have. What J2EE provides is a unified set of services, presented with standard interfaces, for your use. This means there's a lot of 'plumbing' that you don't have to build yourself. I suppose the asme thing is true for .NET. AFAIK, before J2EE you had Corba and that ever-evolving thing that one day was called DCOM, the next day was COM+, etc. Before this, I don't really know. I guess you had sockets and aCembler. Or aCembler++ :) ----- Suravye ninto manshima taishite ('Peace favor your sword') Paulo Caetano |
| Thu 29 Aug | Eric Debois | I think most were bulit using Perl or plain old C and CGI. Its still a valid aproach. |
| Thu 29 Aug | Matt H. | Ok - Here's a question - how does an 'enterprise application' differ from an regular old-fashioned application? The guy above hinted that 'Enterprise Applications' are really just web services (Perl/CGI or .Net or J2EE), which is kinda reinforced by the guy that talked about sockets programming. But that's not what enterprise apps really are. I would hope most folks would agree that Amazon.com is not an 'enterprise app', it's a commercial app or consumer app. ( 'Residential App?') Enterprise apps are created for a business - they are really _BIG_ IT apps. In other words, they are applications that an entire business can use 'across it's enterprise' - but are generally not really for sale/use by direct customers. In other words, Enterprise Apps automate various internal processes, they aren't sold to consumers. In other words - does anyone have a real good definiton of 'Enterprise Applications', or is it just VaporWare, like Joel Spolsky warned .dot was gonna be two year ago? :-) regards, |
| Thu 29 Aug | nojuan | The closest equivalent to J2EE and .NET is CICS. It's a transaction server, db stuff, MOM, etc... So before there were J2EE and .NET there was CICS, and apps. were written in COBOL, sometimes PL/1. Anything else you want to know from the dinosaur age of computing... |
| Thu 29 Aug | TK | 'Really_Big_App' yeah. There have always been enterprise App's in the sense of 'Really_Big_App's' that ran the business: Airline reservations, Telephone service order systems, and the like. They are breathtakingly complex systems and amazingly reliable systems now. They've been there for 30 years, they've always run on IBM mainframes and probably always will during my lifetime. I think that the term Enterprise Application, as understood today, is a consultants' theory that you can write new applications and/or buy middleware that would make it easier and cheaper to integrate applications (that didn't run on IBM mainframes) in such a way to add add value to the business. Darn good idea. Open standards are the holy grail. The other defintion of Enterprise Application is that you buy SAP and Peopleware and you've got everything you need to run a really big business. Where I worked we built a data contract system ourselves, tuned like crazy, and waited breathlessly (actually we didn't hold our breath) for CORBA and CORBA based middleware. The mainframes are still there, the contract system is still there, CORBA is in the mix now, J2EE is progress. It all helped. It is still really hard. |
| Thu 29 Aug | Daniel Shchyokin | Greenspun had a good article on enterprise apps and ejbs and scalability etc... but I think there is a general misconception about what an enterprise is. An enterprise app is not one used by the whole enterprise, but an app (which may or may not be used by the whole enterprise) which ties together disparate systems from throughout an enterprise. |
| Thu 29 Aug | TK | Absolutely correct nojuan. Transaction processing is the foundation. Really big companies used and still use IMS and boatloads of COBOL. |
| Thu 29 Aug | Ori Berger | There was transaction managers like Tuxedo, there were databases like DB2 and Oracle, and there were files and network connections. There's no magic in J2EE, it's just a standard set. One of the things that 'were before', and which J2EE and friends were supposed to address was the lack of standard session management, user identification , authorization semantics, etc. As far as I can tell, in practice these problems are just as bad as ever, but - at least theoretically, you're much better off. |
| Thu 29 Aug | Ryan Ware | Well at my company the reliable server is an HP3000 running Cobol. The other ones, which we are implementing an ERP application on are all NT and suffer reliability problems inherent to the design of the OS. To hear the marketers tell it we have been lucky to get by with the 'stone age' toolsets people have used for the last 30 to 40 years, but now with .NET upon us, the sky is the limit. I think that is a bunch of crap. I think software running on mainframes and Unix does all the heavy lifting and will for quite sometime. .NET will only tie to that to provide some info to the web, or other quick and dirty intranet or in house apps. Actually, I think we were better off before as far as business application programming. How many times did you have to reboot those AS/400's running Cobol vs the NT server leaking its brains out through someones shitty VB? Companies have traded reliability for fashion when it comes to languages and platforms, I think the downturn in the economy may be just what companies need to realize they don't have to get on the latest overpriced bandwagon. signed, Crusty admin. |
| Fri 30 Aug | Xxxxx Xxx | I don't know much about other company and .NET. From Microsoft (non-.NET), there are: 1. VBScript/ASP - the equivalent of JSP 2. ODBC - the equivalent of JDBC 3. COM/DCOM - the equivalent of CORBA 4. MTS - the equivalent of EJB container 5. CDO/MAPI - the equivalent of JavaMail |
| Fri 30 Aug | Evgeny Goldin | << How many times did you have to reboot those AS/400's running Cobol vs the NT server leaking its brains out through someones shitty VB >> Good point. I think that's the problem of mass-believing that every donkey can be a software developer. |
| Fri 30 Aug | Eric Debois | ...Not to mention that every donkey claims to be a qualified Sys Admin these days.. Ill be damned, but I think I bought in to the hype on this one. I see now that my idea of Enterprise apps was way off. But then again, Ive been reading books and tuts that claim to teach enterprise application programming but really talk about advanced web development, so its not my fault ;-) |
| Sat 31 Aug | Ryan Ware | Most true enterprise apps that exist today are not web aware. They toil day in and day out in the bowels of the corporation (nice imagery, huh?). Today the marketers of the 'new' technology seem to think that it is not an enterprise app if it is not web aware. I for one think we are in for even bigger security issues if web services become as big as marketers say. Since the web became common place in business, those businesses that connect to it do what? They put a firewall in place. Now with the advent of web services everything will be riding in and out of the firewall on port 80. Think about it how many chat clients, kaaza type programs now will work from inside corporate firewalls simply because they go through port 80. Companies that bet the farm on web services had better be certain that the 'new' technology is secure. Myself I have serious concerns about this on .NET based soley on who it comes from. They gave us Nimda, Code Red, Anna, Melissa and thousands of others, yet they are building the most secure platform ever, well I for one can't wait to see it. |
| When A Bad Design Is Ubiquitous, Is It Still Bad? | Tue 27 Aug | Norrick |
| In Joels book, he points to Outlook as being a poor UI design due to (among other things) the not-so-obvious level of indirection required to figure out that clicking a button in the left pane makes things happen in the right pane. He goes on to mention that the tabstirp is a much more intuitive control and so on. I agree, and yet I cant help thinking: now that Outlook is damn near ubiquitious on corporate desktops, is the Outlook bar paradigm STILL a bad UI choice? Going even further, does the fact that thousands of of users have been trained to understand and use it now make it a GOOD design choice in planning a new UI? I realize Im playing devils advocate here. Im a big fan of tabstrips myself. But it seems funny to think that a poor UI convention has been so widely spread that its shortcomings may have been overcome by time and exposure. Anyone care to comment? |
| Tue 27 Aug | Anonymous Coward | I dunno, but people have been telling me for ages that Forté Agent is much better than Outlook Express. So, about a year ago, I downloaded Agent and played with it for a few minutes. Couldn't make heads or tails of it. Got frustrated and deleted it. I'm happy with Outlook Express. It does everything I want it to do. |
| Tue 27 Aug | Mikayla | Somehow this makes me think of a UI on a project I once worked on, which the test lead described tongue-in-cheek as 'conforming to all Windows standards.' It did indeed - in the administrative part of the app, there was an Outlook bar, plus a tab control for each pane, some of which were standard dockable style and some of which weren't but had IE 'big graphic with little text underneath' buttons. And the whole thing would launch other windows, some modeless and some modal, all of which you could minimize into little blocks on the desktop (not taskbar, desktop) just like Windows 3.1! So, to actually respond to the topic... To me the Outlook bar originally seemed like a bad analogy relating the overall Outlook application to the semi-standard website with frames format, where all the major subsections are listed on the left-hand small vertical frame and the data appears on the right. (JoS for example.) I say a 'bad' analogy because I'm not sure applications within an application = topics within a website. Also, because that formatting of websites is very common but isn't an actual *standard*, as we've noticed since with many websites going for a small horizontal frame at the top instead. And some, of course, use both a top and left frame, but I don't believe this is used consistent to Outlook (where the left would always be the 'master' navigation and the top is detail). Have we escaped that now that more people are familiar with the idea? Maybe, if your example is close enough to Outlook and the user base is familiar enough to 'get it' when you do rough usability tests. I think the original administrative tool (minus its other sins) would probably be OK using an Outlook bar now. Personally I'd *prefer* a Windows explorer style left pane (such as Win2k's Computer Management) for an admin tool, because it provides for more hierarchy in basically the same amount of space. |
| Tue 27 Aug | Albert D. Kallal | Well, the reason why corporations use Outlook, and NOT Outlook Express is because OutLook is a com object, and Outlook express is not. Hence, the reason why OutLook Express is not much good, is exactly why Web Based Email is not good in a corporate environment. If you ever had a client come to you ask, I need to click on a button in my application and send a email. Outlook, and the rest of office are all programmable “com” objects that can talk to each other. I am always amazed at this basic point being missed. The above reason is exactly why MS choose the .net route, and did not endorse thin client. Hence, the reason why Corporations use Outlook in place of OE is the fact that Outlook is a com object. As for the side bar, you can hide it, and I would also say that the OutLook example of using a bar on the left is not such a bad way of doing things. Perhaps we just got so familiar with it, that we accept it. I guess now OutLook express also does have a Icon bar on the left in addition to the TreeView control on the left. This was probably added (not too long ago) to make it look and function more like Outlook. However, the icon bar in Outlook includes additional folders, and will scroll. The one in OE does not. At any rate, in OutLook you can just turn off the scrolling icon window (you also can in OE, but I don’t the icon window ever scrolls). Regardless, you can hide the icon window.... Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Tue 27 Aug | Ilan Volow | It's a sticky situation. I think it really depends on the frequency with the target audience will be exposed to the design. For example, let's look at firetrucks. Since close to forever fire engines have been rpainted red, and people have become so familiar with this that there is a population stereotype that a long red vehicle equals firetruck. However, the disadvantage to using the color red is that it's not really that bright at night which makes the firetrucks hard to see. A few years ago, there was a movement to paint firetrucks a neon green color to make them more observable at night. Unfortunately, people had kind of a problem telling that these green trucks were fire engines. They were expecting a red truck, not a green one. Since people will not (hopefully) see as many firetrucks per day on the highway as they see normal cars, you kind of have to bite the bullet and go with using the bad design and exploiting the population stereotype. However, if your target population were people who would be seeing firetrucks day after day after day, any population stereotype that might exist would be quickly extinguished and better vision at night would be the more desirable goal. If firefighters were the main target audience, it would be suggestable to paint the fire trucks the neon green color. Putting it into the context of computers, if I was designing a kiosk system where the user might use the system for only two minutes during the course of his or her whole lifetime, I would shoot for exploiting familiarility, even if it was perpetuating a design that for years human factors people have been saying is bad. If I was designing an interface for an operating system environment that people will use for 9 hours every day, I would choose the better design over familiarity since the better design would have a more long-term impact on the users ability to get valuable work efficiently and to avoid making destructive mistakes. Generally speaking, the best computer interfaces have a good design *and* consistently exploit familiarity with how that good basic design works to allow the user to take advantage of more advanced or complex procedures. |
| Tue 27 Aug | pb | I'd say companies use Outlook because it connects to Excahnge. I'd also disagree that the left pain acting on the right pane isn't so bad. |
| Tue 27 Aug | JWA | I've found that the Outlook bar is an effective, useful, and understandable navigation device -- *if* it is set up such that the currently selected button or link remains highlighted. This provides positive feedback that one of those 'things' over there is 'selected', and then logically this can be changed. I do not understand why MS does not do this in Outlook. They do set it to hot-track, which is good feedback indicating its purpose and operation, but of course only once the user tries to run the mouse over it. It also seems important to me to more obviously label the outlook bar itself. With the typical flat-style look prevalent now the group separator buttons just get lost in the design. Further, I feel that an Outlook bar is much easier to understand and use if it only uses one group. For more than one group a WinXP Explorer-style pane or treeview is easier to understand, depending on the number of items. Our primary application organizes a vast quantity of information that exists within specific sections, then is further broken down into sub-sections, which are then broken down into hierarchal order or further subsections (that's the extent of the data levels). We use navigation beginning with a single group outlook bar, the primary groups are then tabbed, and sub information will be organized through either a treeview or another outlook bar depending on it's nature. For desktop space's sake the primary section Outlook bar and the file treeview that is next to it are in an auto-hideable and dockable/undockable frame. This layout and usage has tested very well, and is typically very well liked by the corporate-level user base. So, I agree with your point that the a UI element that is inherently bad at inception may become a valid choice if it is widely understood and comforably used by the user base. But, I think that as in all UI cases, you can maximize its effectiveness with subtle tweaks that are more intuitive to the novice users and don't bother the experienced users. |
| Wed 28 Aug | Alberto | I'm surprised that there's any issue of any sort with outlook, so good is its UI that I've never even thought about it. It doesnt do something? Well then, that must be something I've never needed to do in the many years that I've been using it. It's a round peg in a round hole. |
| Wed 28 Aug | Ian Renfree | Ilan Volow you've hit the nail bang on the head for me. Usability is in the eye of the beholder. Users define good usability NOT academics. There are many parts of our life where, from an academic perspective, poor usability is evident. However, because 'they' have become standards, and we know how to use 'them', 'they' become good usability standards. As Jacob has discussed in one of his articles, blue is not the ideal choice for links. If we could start all over again there would be better colours to choose. But is is the standard - the majority of web users know it - therefore it is better usability to use blue for links than using the *ideal* colour. Like I said, usability is in the eye of the beholder. |
| Wed 28 Aug | Patrick Ansari | I never use the Outlook bar. Instead, I enabled the folder view, which allows me to have more control. The new file open dialogs in Windows 2000 and XP have an Outlook-like bar where you can select some common locations like My Computer, My Documents, Desktop. This is a very useful feature. It would be cool if I could define the locations that are displayed. Then I would add my downloads folder to it and my project directory. I agree, however, that in the beginning, this level of indirection was not obvious to me, even though I already was an experienced user when I first started using Outlook. Most people I have seen using Outlook don't seem to 'get it'. |
| Wed 28 Aug | Mark Williams | One of my apps has a nice, clean & simple one-page interface, no nav tools needed and the users liked it. Now I'm told to make the app handle double the amount of data it was designed for, which means that the UI now needs some kind of nav tool. I coded up several demos using various nav methods, including standard menus, tabs, treeviews and an Outlook-style bar. I showed these to the users of the app, and they ALL picked the Outlook style. Whether Outlook is Good UI or Bad UI in the eyes of purists and academics is irrelevant; users know and understand the Outlook interface, and that makes it effective. And results are what matters. |
| Wed 28 Aug | Sy Wren | 'Unfortunately, people had kind of a problem telling that these green trucks were fire engines.' I'm having a hard time with this. Are we talking about those 40,000 pound pumpers? With the 120 decibel sirens? And all the ladders? I'd be interested in reading more if you have any links. |
| Wed 28 Aug | Ged Byrne | Fire trucks might be red, which is hard to see at night, but what about the flashing lights and sirens and sfuff. Surely they stand out. |
| Wed 28 Aug | Dunno Wair | You usability types give me hives. He didn't ask why Outlook was a bad design. He didn't ask why corporations use Outlook. He didn't ask for opinions on Outlook versus Outlook Express. He didn't ask about the use of colour in cultural conventions. He certainly didn't ask for recommendations on how to use Outlook. This is meant to be a forum, not a gathering of cyber-soapboxes. Stop writing sermons and engage in debate, for cripes sake. (Oops. How did this soapbox get under me?) |
| Wed 28 Aug | Sammy | Are there a lot of social conventions that make no sense, but are ubiquitous and people believe deeply in them? This is the default, not an anomaly. So you must have two standards for 'bad.' Bad in, and out of the social context. With software, you have the difference between a bad business case, and bad art. And there's a blur between the two. When you say something is bad, you have to reveal some of the context; otherwise pointless flamewars erupt. Really, most people here care about usability for profit. If usabiilty harms profit, then worse-is-better. |
| Wed 28 Aug | trollbooth | Just be glad I am not your UI designer. I would give you a stick figure that you could 'diddle' in appropriate areas to get a response from the application. Faster diddling would reward you by allowing your computer to continue running. Is there a bastard UI designer from hell like a BOFH? Because I would like to volunteer. |
| Wed 28 Aug | Nick Bauman | Well, epistemologically speaking, a bad UI design is still bad, regardless of it's ubiquity, because truth is immutable. IE, given we discern through logic badness and goodness of an empirical, artificial machine (a computer program), it's ubiquity is totally irrelevant. But I don't think that's the interesting answer. The interesting answer is to be found here: http://www.jwz.org/doc/worse-is-better.html Worse is Better (no, really; Worse _is_ better! Read for yourself) |
| Thu 29 Aug | S.C. | http://www.iarchitect.com/mshame.htm Many of the poor designs on this famous page will still be poor designs even if everybody is using them. The only bad design which will be okay if everybody uses it, is the convention ones. Say, a magnifying glass always represents 'find' or 'search'. If you use some different icons without a good reason, it may be considered bad. But if everybody uses the same icon, it will be okay. Very simple. |
| Thu 29 Aug | Greg Neumann | To the people who say that interfaces can be objectively bad -- let's talk about something closer to home. I think Algol languages like C are objectively terrible interfaces into computing. I think Sun believes this too, with people like Steele, Gosling, and Joy, who've all said something to this effect. But they realize that mainstream programmers LIKE Algol because it's what they're used to. Some people find Python's whitespace dizzying; the parentheses of Lisp remind them of pain. So Sun decided that Java's Algol syntax is the way to go; it's a pragmatic design choice. Microsoft copied Java, continuing the chain of ubiquitous bad design. Clearly there can be no god if things like this happen, so how can there be objective truth? |
| Thu 29 Aug | Joe AA. | Excuse me? I think you are mixing definitions... Good and bad are subjective judgments, and depend upon context and preference. Truth however can be proven independent of context and preference. You fall from a high place you will hurt yourself... it doesn't matter what the high place is, or whether you had a choice in your action of falling. The majority opinion on any subject is just a subjective judgment collected by statistics. If everybody jumped off a cliff would you? Aw, come on, don't you really wanna be a 'team player'? |
| Fri 30 Aug | Greg Neumann | > You fall from a high place you will hurt yourself... it doesn't > matter what the high place is, or whether you had a > choice in your action of falling. I think you know I can weasel out of this. The world of surfaces is divided into hard and soft. And gravity's acceleration on me is also variable. So you have a truth that says, 'For some surfaces and gravities, there exists...' Just like, 'If you come from this Windows culture, this is a good UI...' It's not a universal truth, but an existential truth. (Where you say 'for some' instead of 'for all.') There soooo many existential truths. I don't know any universal truths; I'd be glad if you could tell me. (Does 'I think, therefore I am' count?) I guess I just don't believe in objective truth. Maybe you do, so all the more power to you. |
| Sat 31 Aug | Joe AA. | My point was, rather poorly stated I grant you, is that truth is not a matter of personal preference. Adjectives like good and bad are personal preference. If you are seeking truth in personal preference, then more power to you. I assume you are sitting at a desk. Does that desk really exist objectively? If there is no objective truth, then make a fist and smash it into the desk. Since there is no objective truth, that means you don't exist either, and two illusions cannot hurt themselves. Go ahead... try it... 'trust me'... whasamatter? ain't got enough 'faith' in your belief? |
| Sat 31 Aug | Frederik Slijkerman | But what if there is a third illusion of pain as soon as your fist hits the desk? :-) |
| Opera casts off legacy code for speed | Tue 20 Aug | BettyLaFea |
| http://news.com.com/2100-1023-954561.html Like any other re-developed from scratch application, Im prepared to be disappointed. |
| Sat 31 Aug | KJK::Hyperion | Preface: I didn't read the other comments. I have a compulsion to reply now. The rewrite of the rendering engine in Opera is *GOOD*. It sucks now. It isn't able to rearrange things: if an element changes size, it will be clipped, instead of the rest of the page being reshuffled to adjust. In general, it isn't able to change the structure of the page, and this is castrating the DOM, that can't add or remove nodes because the rendering engine wouldn't be able to handle it Not to mention various other deficiencies, like the inability to handle the CSS 'overflow' attribute appropriately, the inability to change the color and borders of form controls, and many others officially documented While this may increase the memory footprint of Opera (instead of a static surface, they'll have to handle a complex jigsaw) - but I think that the embedded version will still use the low-end engine - it's a necessary step, because it comes down to a lot of things that 'should work', but don't, or work counter-intuitively |
| Weblog Tools | Thu 29 Aug | S.C. |
| There are a few softwares which are similar to CityDesk, like Movable Type, Grey Matter. Does anybody here have experience with these software and which one do you like most? |
| Thu 29 Aug | Darren Collins | The primary difference between most of those tools and CityDesk is that they require the ability to install software on the server. The browser-based nature of tools like that mean that you can only edit/post articles while you're online, which is not very practical for people at the lower end of the market on dial-up connections. This is the single biggest reason I use CityDesk. |
| Thu 29 Aug | Diego | Doesn't it also have to do with the different features server-based apps offer vs. desktop applications offer? The weblog tools come with most of the code written for you, are aimed at mostly weblog management, allow you to edit wherever there is an Internet connection. CityDesk, for me, is simpler and better for general content management of a small website with better editing tools (no big textarea field). If you are managing a website, CityDesk seems better, while those Weblog tools are for people who constantly come up with thoughts and want to edit it from London and then LA the next day and may not have access to a PC or laptop all the time. PostNuke seems closer to CityDesk than MovableType and the others. It is meant for content management. Although it is similar to PHP-Nuke, from the stuff I read, they are taking PostNuke down a better road, improving the templating system, improving documentation, and other features, but it will take some time. You can read more about the PostNuke interview: http://www.keithdevens.com/weblog/?id2338 Though PostNuke will still be better for more technical users. How many people outside the computer field want to deal with CHMOD or uploading all those files? CityDesk will still be better as content management for the 'rest of us.' It hides a lot of the complexity, and maybe you can download modules/plug-ins for CityDesk in the future like you can do with PostNuke. Also, look into pMachine. The bad thing about it is it still costs $45 for a non-commercial license. But there is a free version. Another version for commercial uses ($125). Some people are using it as a content management system, not just for weblogs. You can find links to how people are using it on www.pmachine.com Plenty of good and innovative examples. |
| Fri 30 Aug | tapiwa | Greymatter is by a long way the best 'script' I have ever used. It has a very simple and extremely powerful templating system, and the documentation is second to none. Read the docs and you can easily build a site, with comments and voting on articles, and make it look any which way you want, plus you don't even require a database backend.... just the ability to run cgi-scripts. There were issues (about a year ago) regading its ability to categorise information, and I am not sure whether these have been addressed or not. |
| Fri 30 Aug | Richard Caetano | PowerBlog is a new tool coming out...should be killer: http://www.powerblog.net |
| What would you? | Thu 29 Aug | dead tired developer |
| What would you do, if you had just finished very long, stressful yet successful software project? any getaway suggestions for a few days? Biking? camping? hiking? what? |
| Thu 29 Aug | vern | What state are you in? Or what country for that matter? |
| Thu 29 Aug | dead tired developer | British Columbia, Canada |
| Thu 29 Aug | Michael H. Pryor | go fishing for salmon! well, at least that's what I'd do if I were in your position .. |
| Thu 29 Aug | Alberto | Get on a motorbike and ride up to the artic circle. |
| Thu 29 Aug | James Ladd | I would code my own project, but thats just me, I like punishment ;) |
| Thu 29 Aug | David Blume | Tired, Don't neglect your own neighborhood. Explore Vancouver, don't miss 'Death By Chocolate', at 1001 Denman Street at Nelson. Yum! Most developers here in the San Francisco Bay Area leave for vacations, and miss out on the local attractions (excellent climbing, hiking, biking, wind surfing, theatre, people-watching and eating all close by.) Don't forget that you could start a project (new bookshelf? Paint something? Rigid Body Physics Simulator?) or read a good book, too. |
| Thu 29 Aug | Jan Derk | I would have a very very difficult time deciding between diving the Red Sea, the Maldives or the Great Barrier Reef for 4, 5 or 6 weeks. And actually that's exactly my problem right now ;) |
| Thu 29 Aug | Ed the Millwright | Jan, Have you already done Papua New Guinea then? Or is that no longer the secret spot... |
| Fri 30 Aug | TK | Grab your loved one(s) if you have them and do something you've never done before. Make sure to leave the house at least overnight if you can. Try to avoid the sucky vacation effect. My perfect vacations are less than 4 days or more that 7 days. I have problems with my vacation-attitude-turn-around on days 4 - 7. Your results may vary. Give yourself at least one full day at home before you go back to work. |
| Fri 30 Aug | Jack lives over there -> | Go climb the Chief! Go climb the Chief! YAY! |
| Fri 30 Aug | Jarno Virtanen | Long stressful software project sounds like you haven't met your friends for a while. Go and meet them. But before you meet them, do something else too or you'll bore your friends to death by talking about the project for the whole evening. Been there! |
| Fri 30 Aug | Mike S. | Go to Las Vegas and meet the chicks.... |
| Fri 30 Aug | tapiwa | throw a party and invite us all :) |
| Fri 30 Aug | PaleRider | You can handle a long difficult project but can't decide what to do for relaxation? Write a progam to figure out where to go. Better yet ...just get a life. There's all sorts of places to go and things to do. Just do something and forget programming for a while. |
| Fri 30 Aug | Sven Galli | http://www.mtb.bc.ca/trails/ |
| Fri 30 Aug | Ian Stallings | I would go fishing for a week straight, doesn't really matter where as long as I'm alone in the wilderness taking some time to think and relax without lifes distractions. |
| Fri 30 Aug | matt | It's got to be sailing, out of sight of land. No distractions, a good connection with nature, enough to do to keep occupied and purposed, but plenty of time to just relax, contemplate, and meditate. |
| Fri 30 Aug | Richard | Gotta be skiing for me. Not too seasonal at the moment unless you are in the southern hemisphere, but you just can't beat them for the sheer fun. |
| Fri 30 Aug | van pelt | If the weather's good enough (and sometimes even when it's not), a three-to-four day canoeing/camping trip is what works for me. Something where you get at least two full days of not worrying about what time you have to get back. |
| Fri 30 Aug | Patrick Ansari | Why not go on one of those Geek Cruises to Alaska? Seems pretty cool. |
| Fri 30 Aug | Martha | Well, I'd suggest Pennsic War, but it just ended two weeks ago. Somehow, I doubt if you want to put off your little relaxation break until next August. (Pennsic War is a two-week long SCA event held in western Pennsylvania every August. Two weeks of life in the Current Middle Ages--complete with camping, classes, fighting, dancing, and of course booze--will cure just about any computer-related problem.) |
| Fri 30 Aug | Bella | I'm surprised you haven't been assigned to a new project already. One one project, the overzealous new manager (who wanted to impress every bigwig in the firm), had 1/2 the development team reassigned to other projects a few weeks before the original one even went live. |
| Fri 30 Aug | Dan Sickles | First, send the manager on a cruise to.....um..... |
| Remote Control Trhough Firewalls using TightVNC | Thu 29 Aug | Ricardo Antunes da Costa |
| Hi folks. At our company we decided to adopt the same solution Joel used at FogCreek, for tech support with remote control: TightVNC in listen mode. I want to know if is possible to use distribute the listening mode through several computers, because our customer support department have 5 persons able to acept incoming questions. If anybody can help me please... Thanks in advance. Ricardo Antunes da Costa |
| Thu 29 Aug | Michael H. Pryor | Note that there are still firewalls which will prevent even this kind of connection (ie. some people's companies only allow port 80 and other common port connections). |
| Fri 30 Aug | Joel Spolsky | As long as you have unique internet addresses for all 5 computers and they are reachable externally (e.g. no NAT) it should work fine. I also test-drove Netopia Ecare http://www.netopia.com/en-us/ebusiness/products/ecare.html which is hands-down the best commercial product. It starts at about $180/month and gets through every imaginable form of firewall. Very very slick, very easy to use and figure out, etc. When we get bigger we may switch to this. |
| Joel on Mozilla | Thu 29 Aug | Neil Stevens |
| Anyone else get the same feeling when Joel writes about Mozilla, that you get when some free software developers write about Microsoft? Just as some free software developers are committed to writing all kinds of negative things about Microsoft at every opportunity, Joel seems to love to dig up anything negative about Mozilla. Mozilla is *all* bad, and the results were *no* good. On the other hand, when Microsoft as flagrantly violates usability common sense as Mozilla does (MS with its three different widget sets, Mozilla with XUL), the Microsoft criticisms are tempered by praise for the development tools behind them. But how happy Mozillas users are with *its* development model and how widely used *its* tools like Bugzilla are get ignored. It just occurred to me that Bugzilla competes with fogbugz, but I still dont think thats the reason. I just think this is a knee-jerk reaction of someone who makes all his money in proprietary software. |
| Thu 29 Aug | Anti Joel | Joel is just ignorant and stupid. He is happy with Internet explorer even though it has a million security problem, it is not standard compliant. The thing with Joel is that he thinks he is a great develper but isn't and is jealous from Open Source developers that produce better code in a week than joel has in a lifetime. |
| Thu 29 Aug | Neil Stevens | Oh good, now we have an example of the other kind of knee-jerk reaction. :-) |
| Thu 29 Aug | Farid | Anti Joel: If you disgree with Joel on some issues that doesn't give the right to be rude. I don't recall Joel caliming that he's a great developer or something like that. He's sharing his experience and view points with us and certainly if we disgree we can discuss it here in this forum in a more intellectual/polite way. Have a good one. |
| Thu 29 Aug | Frederik Slijkerman | 'The thing with Joel is that he thinks he is a great develper but isn't and is jealous from Open Source developers that produce better code in a week than joel has in a lifetime.' The thing with Joel is that he makes money writing software. Apparently, you are flipping burgers at McDonalds for a living. I hope you're happy with your 'better code'. |
| Thu 29 Aug | bla | No i am a open source developer and i do make money developing open source software. I am tired of reading joel bitching about open source projects. Compare his products to open source projects and tell me if you can honestly say that his products are better. Compare fogzilla to Bugzilla, Tigris' scarab and other bug tracking systems. Compare citidesk to MT. What gives him the right to complain all the time about open source projects? He also complains about UI, does he use his own products? The rest of you just bitch like him and defend him with no valid argument. |
| Thu 29 Aug | pb | I find defenses of Microsoft and attacks on Mozilla quite refreshing. |
| Thu 29 Aug | S.C. | 'The rest of you just bitch like him and defend him with no valid argument. ' -- Defend him from what? From articles like yours? You must provide an argument to support your assertions so that people can 'defend.' BTW, I guess you are talking about 'FogBUGZ' and 'CityDesk.' |
| Thu 29 Aug | Darren Collins | What's MT? I searched the net and tried just about every desktop content management system I could find (for Windows and Linux) before settling on CityDesk. |
| Thu 29 Aug | Ged Byrne | When Joel talks about Mozzilla, he usually talks about STRATEGY rather than SOFTWARE. Whatever criticism you can have for the Code itself, the fact is that Microsoft continues to strategically out manouver all of its competitors. They've taken on Lotus, Wordperfect, Novell and Netscape. Each company had a massive, seemingly intrenchable monoply in its field and yet Microsoft defeated all of them. |
| Thu 29 Aug | Nathan | i'm guessing MT is movable type. try movabletype.org |
| Thu 29 Aug | D Clemons | I read Peter Trudelle's page, and he certainly comes off like a sensible person who has the wit to learn from the mistakes of others as well as his own. So Mozilla 1.0 sucked. And the preponderating majority of version 1.0 of Anything doesn't??? Let's get some perspective here. I won't mention names, but a certain large--very large--computer firm that I worked at put out a 1.0 product, and their goal for release was just to get the product to *install* without errors. (Oh yeah--you had to wait for the patches in hopes that it would start up without errors. Heaven only knows which version actually did what it was sold to do...) It seems to me that large corporations that try to co-opt open source projects are looking to get something for nothing, when *they* (not the supposedly 'hippie' coders) are the ones living in the real world. 'Free-as-in-lunch'? I think not. But the army of MBAs and bean-counters at these companies seem to think they can somehow suspend the laws of economics by trying to bring open source critters into their barn. The Mozilla Project, IBM's S/390 Linux stealth-port fiasco and other incidents like that just make me roll my (and resolve never to donate so much as a minute on any project 'godfathered' by a large company). Not because I think that open source is a bad idea. (I don't.) Nor because I think that open source folks can't work well with the proprietary software types. (Ditto.) It's because I think that the AOLs and IBMs are too used to their 'carrot-and-stick' way of treating people. And so they reward the efforts of *volunteers* by treating them like (shudder) employees--including all the bean-counting and marketing and general political bulls--t that employees have to suffer through while trying to be productive. And the punch line? When that mismanagement inevitably fails, the companies have the brass to blame open source as somehow 'flawed' as a model of development. Even I (who have never straw-bossed a team of greater than three) know better than to do that. Never forget that these volunteers are giving not only their time and effort, but also the best of themselves and their abilities. And a degree of inspiration and passion that they've (probably) long since learned to not venture at work--for fear of the repercussions. You don't stomp on that. Period. I normally agree with a lot of the stuff that Joel writes, and am actually pleased when I discover that I'm already doing some things 'his' way. ;-) But in his passion for excellence (or at least the quest for excellence) in his profession, he needs to learn to respect that same passion in others. The beauty of open source is that if you don't like it go download the source code and 'fix' it. That's typically an excellent cure for the hubris of the shoulda-done sort of criticism, no? ;-) |
| Thu 29 Aug | Matthew Wills | 'A text without a context is a pretext for a proof text'. The problem with most of your comments on Joel's recent article is you aren't reading it in context. Joel is not (first and foremost) bashing Netscape / Mozilla / open source / whatever bandwagon you like. He is (primarily) bashing what he refers to as the 'single worst strategic mistake that any software company can make' ( http://www.joelonsoftware.com/articles/fog0000000069.html ). http://www.joelonsoftware.com/articles/fog0000000027.html may also be helpful in identifying where he is coming from. Seeya |
| Thu 29 Aug | ns | The strategy of Joel and other commercial developers is to make a profit. Mozilla has no such motive, its strategies will reflect that, and some of them WON'T WORK in commercial environments. So Peter Trudelle and Matthew Thomas have a problem with the UI and the design process. Yeah, it could be better. So work on it. Take your time if you want. There is no shipping deadline, no marketing campaign, no office space to pay for, no shareholders. Mozilla continues to work just fine for the geeks who use it, for whom UI design is not a primary concern. The fact that Netscape chooses to base a commercial product on Mozilla -- well, that's their problem. To be blunt, while Netscape 'sheperds' the process and writes a significant portion of the code, they literally do not own it. The extent to which Mozilla meets their commercial needs is in large part driven by the extent to which they themselves contribute. |
| Thu 29 Aug | Puggy | >>>It just occurred to me that Bugzilla competes with fogbugz<<< FogBugz has to be a joke. Anyone who knows a little about 'web programming' knows how easy it is to write that application (a week or two). I think Joel is just playing with FogBugz. |
| Thu 29 Aug | Darren Collins | If MT=Movable Type, then it's not really a competitor to CityDesk. CD is a desktop application, not a server application like MT. As such, CD puts content management within the reach of the average Joe with a Windows box, rather than restricting it to geeks who have the right server access/setup/knowledge. |
| Thu 29 Aug | open source developer | It is amazing how many programmers out there only think about money. What about software engineering ethics. Why our industry lacks so much ethics, i can't imagine any other industry selling the crap we sell for the prices we sell them. What about the million of bugs in products that cost over $1000? Open source can solve many problems that we face in the software industry and when looked at from this perspective you might appreciate open source much more. |
| Fri 30 Aug | TK | We love opinions even when we hate them. What Philip Greenspun did and what Joel is doing is building a company right before our eyes. Joel has been kind enough to share many of his strategic decisions and to document how he arrived at those decisions. He's given us a public place to to agree, disagree, and rant about the results. Wonderful as far as I'm concerned. Given the same information, folks will make different decisions. The market will sort it out. Most businesses fail. |
| Fri 30 Aug | Robin Debreuil | If you are into user interface, and even right down to command prompt interface, you have to wince at open source. Its basic tennant is 'do what you want, as you see fit'. Sure that's fun, but it makes for a UI nightmare. Even at the command prompt (which is generally the most sensible way to use linux imo), how many ways do you know to do something as simple as exit a program? I can think of at least ten. There is no kde or gnome that can come along and rectify this situation, because each program will have to be mapped to the UI one by one, and naturally there are going to be a lot of imprecise mappings. Impossible task? Maybe. I think because of this you have to take open source projects one by one, almost like programming languages. Apache - great enough to learn the new interface. Mozilla - five years and it still needs work, nothing much positive to learn about software dev there. Ok browser. Bugzilla - worth learning the new interface CVS - worth learning the new interface 98% of the abandoned junk on source forge - unless it is exactly what you are wanting, not worth it. The idea that a UI person could go in and just 'fix' the problem isn't reasonable - if there are no standards you can't really standardize it can you? I love the idea of giving away what I make, and I do a lot, but I'm also really really thinking UI design / structure / standards are crucial. So I always have to speak in measured tones when looking at free software (including my own). What no one on the inside or outside has been brave enough to say bluntly is 'Open source is a giant fucking mess and has to start over!'. It will never be useable until someone has the balls and authority to set up a group that dictates standards. Given the attitudes, I doubt that will ever happen, but you never know. Until then, feeding the open source attitude is feeding commercial software. Maybe thats ok, one gets the smug feeling, the other gets the customers - maybe that is the win-win everybody wants... |
| Fri 30 Aug | Nat Ersoz | Gads. UI? There isn't anything particularly good about any of them. Check it out, to reply to this message (I'm on the kid's computer, Windows). 1. Drag across that message to select. 2. Copy: Ctrl+C 3. Find notepad: Start | Programs | Accessories | Notepad (lucky for me I remembered where that stupid thing is, or I coulda been hunting for some time). 4. Paste: Ctrl+V 5. Hit reply link. That's good? Oh, heavens, I could have clicked Ctrl-N and made a new window, fewer steps, or perhaps 9 other different ways of doing the same thing. BFD. You want to kill a Unix app? Ctrl-C works most of the time. killall 'app' - that works too. Who cares if there are different ways to do something? Gads, watch my wife try to download pictures off the camera into 'Picture It' or Photoshop. What, it only took me 3 attempts to finally get the Win crap installed, and then it crashes all the time - consistently. Same with the scanner. That's good UI? And then when it does work, its about 10 mouse clicks per picture to get them saved onto disk. Then crash. Check it out, Unix: 1. su 2. mount -t vfat /dev/hde1 /mnt/flash 3. cp -r /mnt/flash /media/pics/.... 4. wait... 5. umount /dev/hde1 6. exit Done. 256 MB (~350 pictures) transfered in under 3 minutes. Substitute /dev/sda1 for /dev/hde when using USB (ooo, scary, more than one way of doing something). Y'know, these windows fans spend all this time designing some UI, and then they move 'My Documents' first under 'C:\WinNT\profiles\only god knows where', and 2 more different places with each different revision - somtimes in 'hidden directories'. How can I tell the kids to keep their bookmarks and files organized when someone keeps changing the location, and they can never find their files - somtimes homework. And never mind there isn't a find command worth a tinker's damn. Oh, so we tinker with the UI some more, and call it technology when its just more mental masturbation - jerking off with your brain. Feels like somthings happening, but in fact you're in a room by yourself. Twiddle the knobs here, make a new menu there. You'l l go blind doing that. Have to start in with the electroshock therapy for those addicted to regedit. And the end result is this 'great UI'? Its no better than Apple circa 1990 or OS/2 1994 (remember where the 'start menu' came from) - only was it called 'Start'? - sorry cannot remember, it has been too long. A computer is a machine, and from all indications its going to remain a machine. Oh, but we've got the best usability experts all gathered right here. And for all that? Nuthin'. Thanks, but while you screw around and play with your little menus and reorg the task bars, change a radio button grouping into a list, debate whether a tab or a task bar is more intuitive (oh, heavens, dare I say I'm getting overly aroused) - I'll be quite satisfied that if I do stuble onto something these usability experts put together, kill -9 will be my friend. |
| Fri 30 Aug | Ged Byrne | The point is not that the Windows way is the best way. The point is that if you want to sell a lot of software to a lot of people making a nice profit in the process, then do things the windows way. Its rather like QWERTY keyboards. QWERTY keyboards are deliberately designed to slow down the typist. It separates keys that are commonly used together to prevent a mechanical typewriter from jamming. Mechanical typewriters are long gone but QWERTY remains. A chap designed a better keyboard, that provided a demonstratable increase in speed and accuracy after just a couple of days retraining. he went bankrupt. Anybody brought a Betamax video lately? The best method for HCI is not always the most saleable. |
| Fri 30 Aug | Robin Debreuil | 'Check it out, Unix: 1. su 2. mount -t vfat /dev/hde1 /mnt/flash 3. cp -r /mnt/flash /media/pics/.... 4. wait... 5. umount /dev/hde1 6. exit' So is that what your wife does now? Do you generally get out of unix programs with the kill command ? I don't, am I doing it wrong? (btw, the point isn't different ways, the point is each program has its own way). Unix isn't open source btw, not sure how that came into the mix..? Are you saying that open source programs don't have different interfaces? Or that win/mac interfaces are just as inconsistant? As to this form, it isn't a windows interface, its a web interface. That being that, its a crappy one, which may be why you chose notepad to answer with (don't know). But then doesn't that mean shitty UI's annoy you? Or was that irony, and simleys and winkeys just aren't your style? A bit confused, Robin |
| Fri 30 Aug | Robin Debreuil | 'A chap designed a better keyboard, that provided a demonstratable increase in speed and accuracy after just a couple of days retraining. he went bankrupt.' Actually that is a bit of a myth... http://www.utdallas.edu/~liebowit/keys1.html Imo, most successful things do their task well, though sometimes failures can invent a pretty compelling denial. |
| Fri 30 Aug | Ged Byrne | Robin, What a fascinating read. The person I was thinking of was not Dvorak, but somebody from the 70s/80s who patented and tried to market a new keyboard design. I remember watching a documentary comparing this failed inventor with the very successful inventor of the Black and Deckor Workbench. However, I must bow to your superior sources. |
| Fri 30 Aug | Sammy | An unbiased horse placed between two equally distant sources of food will die. Same with people who do not allow themselves to be biased, they draw no conclusions and mentally die. I don't really get how good CS people ignore this. Didn't anyone study the environmental model of execution? Doesn't code and thought exist in contexts? That Foo someone's talking about is completely different from the Foo someone else is. Is it impossible to keep multiple contexts in mind? Why not be a complete person? See multiple contexts, and don't apologize excessively for being biased? |
| Fri 30 Aug | Sammy | BTW, some might be interested in these two links, about commercial vs. real technology. McDonald's has nothing to do with food and Coke has nothing to do with thirst, but that is not important for the business world. http://www.kuro5hin.org/comments/2002/1/5/205049/1425/34#34 http://kogs-www.informatik.uni-hamburg.de/~moeller/symbolics-info/Symbolics.pdf |
| Fri 30 Aug | Ged Byrne | Actually, Reading the QWERTY link in more detail, I think it actually makes the point exactly. The problem with the DVORAK keyboard was that while its design was technically superior, it didin't lead to a significant increase in performance. I think this is the whole point. You can make something that is technically superior, fine. However, if it doesn't make a significant difference in the real world then that technical superiority is worth nothing. For example, I just brought a new alarm clock. Its digital, and has four buttons. up fast up slow, down fast, down slow. My old alarm clock just had two buttons, up fast and up slow. This was a real pain if you had to go right round the clock, and if you missed it you had to go right round again. The new alarm clock is so much easier to set, thanks to just two buttons. It is technically very superior. However, next time I buy an alarm clock, I won't bother to check how the clock is set. I hardly ever set the time or alarm, so its no big deal if its a bit awkward. I'll just get the cheapest one, same as last time. |
| Fri 30 Aug | Robin Debreuil | I hate it when people get up in the middle of bowing ; ). Yeah, that is surely the is the point, what works best for the real world sells the best. Marketing people know that well, satisfying the needs - technical, emotional, or otherwise... I don't think that anything in there suggests the dvorak keyboard is technically superior though...? The only technical constraint is performance after all. Mostly it was fraud, and that qwerty was never designed to keep keys from jamming, did go through the speed thing with other competitors etc. Not sure if it was there or somewhere else, but I found it interesting that one of the big slowdowns is two letters with the same finger - opposite of what intuition would have told me. Also something that dvorak has a lot more of. Ironically one of the things that most refutes this theory, I have to admit, is the fact that it has to exist. If you think that basically that the 'truth ultimately prevails' in a free market, then that would apply in any free 'market'. If you think of mind share as a market, then why do these legends persist so stickily? Why do people think dvorak is better, beta/apple were better choices, MacDonalds gets its cows from the rainforest, ben franklin held electricity in a key - I even read on the above links from Sammy (great reads!) that pre columbus people knew damn well the earth was round - shit, how long until the market of mindshare sort that stuff out for me? So while I really believe that in an open market the product that best satisfies the needs wins, there is a doubt. Maybe we have a deep seated need to believe these gravity defying stories. It could be, but it sounds a bit like smoothing out the facts to fit the theory too. I guess there is no cost to believing a falsehood, so if it elevates you why not? Then again, the theory would probably have trouble accommodating people making business decisions based on facts like that and surviving, but they clearly do... Hmm. |
| Fri 30 Aug | Nat Ersoz | >>Are you saying that open source programs don't have different interfaces? Or that win/mac interfaces are just as inconsistant? That after all that, how 'open source' interfaces suck so bad (which you seem to equate with everything non-MSFT), nothing has been improved upon. Oh, what does my wife do now? 'Will you copy the pictures onto the hard drive for me?' Works every time. |
| Fri 30 Aug | Robin Debreuil | 'That after all that, how 'open source' interfaces suck so bad (which you seem to equate with everything non-MSFT), nothing has been improved upon.' Err, I included apple, you blurred unix, just for the record. So are you saying the win or mac interface is as confusing and inconsistant program to program, as linux apps? I'm not trying to put words in your mouth, just trying peg down what you mean by 'not improved upon'. 'Will you copy the pictures onto the hard drive for me?' So that's the answer? Well, my wife plugs the camera into the front thingy, a screen pops up saying 'do you want to copy the pictures?' (in her language actually) and she clicks 'hai'. Then she looks at them. Same idea with my Mom and Dad, though a different OS. Maybe they could all drop by and help you guys out some time? |
| Fri 30 Aug | Ged Byrne | Why do people need to believe these stories? I think there becomes a point where a product becomes so established, you feel like you have no point. My 4 year old forces me into McDonalds, when I'd much rather been in the nice restaurant over the rode. Captive within the golden arches, I'm happy to think the worse of the company. Same goes for Windows. The situation is made worse when Microsoft really do the dirty on you, and you realise theres nothing you can do about it, your going to keep having to use their product. I think that when we feel we have no choice, we start to rebel. |
| What if Sun charge money for JDK? | Thu 29 Aug | Xxxxx Xxx |
| VS.NET Enterprise Architect cost $2,399.99 at Amazon. What if Sun charge money for JDK download at say $239.99? 0. How will it slow jdk download rate at java.sun.com? Perhaps to 10% of its current level? 1. Will people stop contributing to JBoss, Tomcat e.t.c.? 2. Will folks at SourceForge.net stop releasing new projects in Java and instead choose gcc or Perl or Python? 3. How about companies like Borland, BEA who sell IDE, Application Servers e.t.c.? Your opinion? |
| Thu 29 Aug | Ryan Ware | It might stop the home hacker playing around with it, but come on $239 to the company that is implementing say Websphere or BEA? That amount would be laughable to them. 'We have this really nice IBM Risc box, but we can't afford the JDK, dammit, there goes our project' I don't think so. |
| Thu 29 Aug | Ged Byrne | Never underestimate the importance of the home hacker. A language is only as good as the number of people who use it. People learn either at home, at work or in education. Charging for the JDK would discourage not only Home, but also Education. This would just leave work. Whens the last time your employer allowed you to learn a new language on work time? |
| Thu 29 Aug | Patrick Ansari | If I had to pay for the JDK I would abandon Java and use C# .NET instead. Ok, I might have to pay for Visual Studio - although it's not really required - but at least I would know that I get good value. Microsoft's development tools are top notch and their documentation (API etc) tends to be pretty good too. |
| Thu 29 Aug | Patrick Ansari | As for people who have used Java for a long time, I don't think this would change anything, really. |
| Thu 29 Aug | Alex Moffat | I just have to ask, what's the point of the question? Do you think Sun is likely to charge for the JDK, why would they do that? I could just as well ask 'What if Microsoft give away .NET for free?'. Certainly the amount of money you speculate about achieves nothing for Sun. All it would do would be to immediately piss off all Java developers without bringing in enough money to help Sun. One thing though. Do you think there will grow up around .NET the same sort of open source community that Java has? If not, why not? If you have to pay so much for the development environment do you always thereafter expect to be paid for your code? |
| Thu 29 Aug | anon | > Do you think there will grow up around .NET the same sort > of open source community that Java has? Depends purely on Mono. I don't get why Sun would do this either. They're in the position of trying to deal with one monopolist per hostile platform, a bunch of smaller competitors, and a serious bunch of legacy code. It would alienate (further!) all their opensource friends who increase the value of Java. Is anyone planning on mind-controlling McNealy so Sun can commit suicide? Is that you, Bill? |
| Thu 29 Aug | Craig | You can get .NET for free if you're willing to do all of your development in Notepad, or buy some other IDE. When you download the .NET Framework SDK (for free) from Microsoft, you get the VB.NET and C#.NET compilers, as well as the SDK tools like the IL Disassembler. Visual Studio is an add-on project that supports .NET development, but is not required. You are paying for the convenience of the IDE, not the basic compiler and runtime support. |
| Thu 29 Aug | Ian Stallings | [One thing though. Do you think there will grow up around .NET the same sort of open source community that Java has?] There seems to be a growing number of c# developers devoted to opensource. Just take a look at: http://sourceforge.net/softwaremap/trove_list.php?form_cat=271 Open source is not restricted to non ms developers. I don't need VS.Net to build an application and have done quite a lot of .Net work without ever opening Visual Studio. All one needs is a decent editor and a good build tool like nant. There are open source IDEs that support c# if you prefer to use an IDE. |
| Thu 29 Aug | James Shields | I think comparing JDK to VS .NET is a little unfair. You could compare it to the .NET Framework, which (as has already been mentioned) you can download for free and lets you compile C# and VB.NET programs, but doesn't have any IDE. Most serious Java developers use an IDE. Some pay for them, some use freeware ones. The situation with .NET is more or less the same. You can download it, but most serious developers are going to want an IDE. Microsoft would obviously prefer you to buy theirs, but there's nothing to stop someone developing an open source GPL one. If Sun want to make money from developers, they could take a leaf out of Microsoft's book, and work on premium development tools. If the tools are good enough, developers will come flocking to buy them. Finally it's worth point out that the Enterprise Architect edition has a lot more than just Visual Studio in the box. There's also a lot of other stuff like developer editions of most of the Microsoft server products and design tools like Visio. There is a more basic edition with a significantly lower price tag. James |
| Thu 29 Aug | pb | Charging $239 would be worse than charging nothing or $2300. By charging nothing, it leaves the value up in the air. People know it has some value but don't know if it's $1000 or $10,000. By charging $239 they leave no doubts that the product is virtually worthless. |
| Thu 29 Aug | Ged Byrne | Do you think that the .Net framework will remain free, once .Net is established. Going on past form, I think not. Microsoft made PWS free of charge, so that people could get up an running quickly. No however, Microsoft seem to deliberately block the installation of PWS with some versions of Windows: http://www.w3schools.com/asp/asp_install.asp The fact that copying dlls solves the problem makes me feel that the blocking of PWS is deliberate. I reckon Microsoft will pull a similar trick with the .Net framework, with obtaining it becoming increasingly difficult, and no updates. |
| Thu 29 Aug | Vincent Marquez | The fact that microsoft is supporting the development of an OPEN SOURCE dotnet implementation (FOR LINUX) makes me think that they will continue to release the core compilers and SDK for free, while making the majority of the money of support tools etc. Otherwise they're asking for it. |
| Thu 29 Aug | Chris Tavares | Bad analogy. The .NET framework is a lot closer to the Platform SDK than to PWS. And the Platform SDK is free, always has been. And always will be. The fastest way to kill a platform is to put up barriers to entry. Having to spend money before you can even TRY the platform is one of the biggest barriers. That's why the platform SDK is free. That's why the .NET SDK is free. That's why the Java SDK is free. |
| Thu 29 Aug | Dunc | Ged said: '...No however, Microsoft seem to deliberately block the installation of PWS with some versions of Windows: http://www.w3schools.com/asp/asp_install.asp' Huh??? So requiring the installation of the Option Pack is some sort of nefarious ploy on Microsoft's part??? (bloody conspiracy theorists :-) ) |
| Thu 29 Aug | Dunc | Oh yea - just saw that there is jiggery pokery involved with WinME... anyway I doubt if it was intentional on MS's part, otherwise why would they include IIS their subsequent operating system: Windows XP? |
| Thu 29 Aug | trollbooth | It's all a MS ploy to take your attention away from the superior web server - PWS. puh lease. If you've ever used it you know its crap, lets just let that one die. And move to a NT kernel for bird's sake, any self respecting developer wouldn't be caught dead on a 9x kernel. I use 9x to test to make sure my apps work on those platforms, thats it, anymore exposure and I'd have to have my developer card revoked. |
| Thu 29 Aug | James Ladd | Sun could charge $1000AU for the JDK and Id still download each release. I have paid more for MS Visual Studio ! I need/want to develop with Java so whats $1000AU in the scheme of things. Regs |
| Thu 29 Aug | Ged Byrne | ------------------------------------------------------------------------ Huh??? So requiring the installation of the Option Pack is some sort of nefarious ploy on Microsoft's part??? -------------------------------------------------------------- Dunc Please reread the link, to the instructions for ME and XP Home. The option pack will only work for NT or 9x. If you have ME or XP home, then you can't have PWS full stop - unless you do some hacking and copy DLLs from another system. My point is that Microsoft will only offer items free as long as they have to gain market share, and not a moment longer. You can't rely on continued support without having to pay out further down the road. I know of students who had to develop ASP for an important assignment, and their tutors tell them install PWS. Since they had a new machine with XP Home, PWS was out of the question. Fortunately, they were able to persuade the tutor to accept PHP under the circumstances. |
| Fri 30 Aug | Just me (Sir to you) | The original comparison is flawed in more than one way. As many have pointed out, you could sort of compare the .NET SDK with the Sun JDK. Problem is that in the MS world most of the enterprise class middleware is in the OS itself, while on the Sun platform these are all extras. So even with just the SDK you would have most 'EE' features present. Maybe the closest match in this respect could be comparing Visual C#.NET standard (about 100$) with something like Borland JBuilder 7 Enterprise Edition (about 3.000$). |
| Fri 30 Aug | Just me (Sir to you) | I do believe the exclusion of PWS like functionality in ME and XP Home is intentional: The intention here is more likely not to place the added security burden of maintaining a full-blown application server on the shoulders of a typical 'home' user. As for the students: They should complain that their faculty did not get them the software needed for their assignments. For a CS department the whole MS OS + development suites are virtualy free ( If I remember correctly the pricing is in the region of 500$ per year. That is for the whole of the dept., including computer classes and home use by both faculty and students). |
| Fri 30 Aug | Ged Byrne | I still stand by my original point that while you can rely on Microsoft to produce top class software, you cannot rely on getting any of it for free. Another example is the free CCE version of VB5. Although still available. It has not been upgraded and is now very difficult to find. If you are planning to use C#, then expect to pay for it. I don't think relying on the freely available command line version is wise. |
| Fri 30 Aug | trollbooth | [If you are planning to use C#, then expect to pay for it. I don't think relying on the freely available command line version is wise. ] Why not? I can create any .Net app using just make and a text editor, so what makes that not wise? Do you think thr IDE is calling a special compiler or something? The VS.Net IDE wraps a lot of functionality into a GUI and also ties into the command line debugger. But MS distributes a free GUI debugger with the .Net SDK so that advantage is null. The most important thing the IDE can offer is the ability to create Windows Forms using drag and drop, a very important feature for app developers that require GUIs. But I create those same forms using just a text editor, solid unit tests, and a good build tool. So please explain the specific disadvantages. |
| Fri 30 Aug | Ged Byrne | Long term you have no guarantees of continued support. |
| Rebranding using Web Services | Tue 27 Aug | Ed |
| Hi. Like many people, I am still trying to get my head around some of the uses of Web Services. One use Ive thought of would be to offer rebranding for a business service. All of the value could be offered through a SOAP interface. Companies that purchased the rights to rebrand could then use the interface to create a web page or standalone application to provide the service to their end users. Is this a reasonable application of Web Services? Or am I missing the boat completely? Thanks, Ed. |
| Tue 27 Aug | Ian Stallings | That is certainly a legit use for webservices. I actually worked on a pre-SOAP service for the now defunct Strategy.com that exposed data to affiliates that could be rebranded. A site like Yahoo Financial would be given templates and examples on how to access the information using http/xml and then do what they wanted. Most of the time Microstrategy's in-house 'affiliate team' would handle the rebranding. One could easily write the same type of interface using SOAP/DIME/XML. |
| Tue 27 Aug | Ed | OK. I have a good idea how I might accomplish this using web services. But does anybody have any links concerning the general concept of rebranding. Maybe a case-study or something. Any past experiences would be helpful too. Thanks, Ed. |
| Tue 27 Aug | pb | What do you mean 'rebranding'? Like this: http://www.kokogiak.com/amazon/default.asp ? I'd look for something more useful than simply repurposing. |
| Tue 27 Aug | Ed | Something along those lines. For the past year, my boss has brought up the word a couple times. My understanding is that a company sells access to the service it provides and allows third-party companies to create an interface to that service and cut a bit of portion of the profit off the top. Essentially, the third-party company is putting their brand on the other company's services. |
| Tue 27 Aug | Albert D. Kallal | Just about every “web” portion of newspapers for Tv listings uses www.clicktv.com They all have a vendor number, and when you connect via your local newspaper link, you get custom add, banners and a slightly different look than what the other newspapers get when using the service. But..yes, but they certainly “custom” the pages, and re-sell this system. This is great example of something that gets “re-branded”. To me, I would absolutely love if the tv listing were exposed as a .net service right now. The problem with doing this is that there will then be no banner adds...and I can’t see how they will pay for the service. Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Wed 28 Aug | Matt H. | Just a thought ... let's say you own a GI Surplus Store. 5 years go by, and web services take of exactly the way microsoft hopes it will. You decide to have a web presence. For content, your site access a Military News Feed from Yahoo (it's downloaded into a separate frame) - via SOAP - for a small fee. You use CyberCash's SOAP interface for your e-commerce processing. You use MS Passport's SOAP interface for log-in. You use E-bay's SOAP interface for bidding, and Joe Smith's SOAP interface to automate your creating items on your E-Bay custom site. All grandiose and glorious so far? You get to create a living, breathing, enterprise-class E-commerce site in like, 3 days? Time Passes ... What happens when ANY SINGLE link in your SOAP chain goes does? Joe Smith's Server goes down -> You can't enter product. E-Bay goes down -> You can't sell product. CyberCash -> Order Processing Yahoo -> No Content. Site looks screwed up. Customers lost. Microsoft -> User's Can't Log-In. Your WebServer-> User's Can't Do Nothin'. Granted, each site might have 99.99% uptime. But when you start multiplying 99.99 * 99.99 * 98 (Joe Smith doesn't have redundancy) * 99.99 ... the uptime starts to take a major hit. It's not just the weakest link in the chain - it's that any link could fail at any time and that breaks the entire chain. I see this as a real weakness of embracing SOAP for distributed applications. Am I way off base here or what? thanks, |
| Thu 29 Aug | Just me (Sir to you) | 'Granted, each site might have 99.99% uptime. But when you start multiplying 99.99 * 99.99 * 98 (Joe Smith doesn't have redundancy) * 99.99 ... the uptime starts to take a major hit.' True, but this does not nescessarily mean a roll-your-own, own-your-own system would do any better. You probably would design your system so that the effects of a component being down would be localised and minimalised. If Yahoo is ureachable, the site uses the last content it got. If Joe Smith's is down, no new items are added etc .... You can always dump substandard providers for better alternatives (then again, your cost savings at Joe Smith's might outweigh the downtime it incurs). |
| Thu 29 Aug | Robin Debreuil | If you hear of any user apps that have 99.9% uptime let me know. Including user reboots, app crashes, drive failures, patches, system problems, fiddling with settings, reinstalling.... If you are talking about users, and they are getting 99.X% up time that is a big improvment - though with colocation that could be higher. The bottleneck is probably their own net connection for that in the end. Of course as a provider you have to to shoot for better, and overcome the perceived and real problems, so it is a very valid point, just the real experience of users tends not to be anything like that of a unix server in a dark cool closet.. |
| Thu 29 Aug | Matt H. | Robin - Any relation to Jenny, the 1997 SSU graduate? regards, |
| Fri 30 Aug | Robin Debreuil | Not that I know of, but she must be pretty with a name like that. Mostly that side of the family ended up in Manitoba, Canada, or were left around LaRochelle in France - so maybe if she is from one of those areas... Either way, she's welcome at a family bash : ). |
| MP3 Player | Mon 26 Aug | Matt Watson |
| Help! Who out there has an MP3 player and is it good or bad? I dont one one of those players that plays mp3 cds. The few that I see so far that are catching my eye are: IPod (I know all about the windows software stuff) Creative Nomad SonicBlue Rio All of the reviews I look at are not helping. Anyone here use one and like or dislike it? Thanks |
| Mon 26 Aug | Dr. Awesome | I think it's generally agreed that the iPod is the best MP3 player out right now. There are plenty of sites that will compare them. Try C|Net. |
| Mon 26 Aug | Matthew Lock | I have a nomad II. It's pretty good for going for works with and listening to Technetcast on. http://www.technetcast.com |
| Mon 26 Aug | Matthew Lock | That's 'walks' not 'works'. |
| Mon 26 Aug | Gregg Tavares | There's also the Toshiba Gigabeat. It's very similar to the iPod. It's one advantage is it's USB 2.0 which is backward compatible with other USB as well. That means you can use it on most computers out there vs the 3% or so that have an iLink/Fireware connector. Of course if your machine does not have iLink/Fireware you can add it relatively cheaply, at least to your desktop, maybe not so each or easy for a laptop. |
| Tue 27 Aug | William Frantz | I have an early SonicBlue Rio player. I think it's the PMP 300. I love it. It's outdated now. I also have SonicBlue's RioVolt SP90 MP3 CD player. I love that too. I recommend it highly. I have an Apex DVD player that plays MP3 CD's. It's decent. In my car I have Awia's CD-MP3 deck. It's marginal. It was early, it was cheap, it's so-so. I have a cheap digital camera that plays MP3s. It sucks. I have a Jornada 540 Pocket PC with MS Media Player. It sucks (as a player). I have a Toshiba e310 with MS Media Player 2002. It still sucks (as a player). So I have used many different devices for MP3 playback. Most manufactures just don't 'get it.' MP3 CD players require advanced UI software to be useful and most devices just get it wrong. Usablity is a big problem with most players. I have never been disappointed by SonicBlue. I would buy anything from them. Those folks seem to understand MP3 players and how they are used. I just wish they made a car deck! I also wish for a bookshelf system suitable for a bedroom. I've played around with iPods too. They are very nice. I'd buy one if I had the $$$ but I think MP3 CD players give you the most bang for the buck. I wish there were more choices. I'm amazed at the number of regular CD players that are still manufactured and sold when MP3 versions are so cheap. |
| Tue 27 Aug | Alberto | Not sure if I'm answering sensibly...I've got a Sony DVD player that plays about anything, MP3, burnt CDs, normal CD's, DVD'd of course. I think it works very well. |
| Tue 27 Aug | pb | iPod is by far the best. I haven't tried the Windows version yet. If you use several for an extended period of time, the iPod's superiority becomes overwhelming. Why someone can't just copy the thing is ridiculous. |
| Wed 28 Aug | Me | pb - Ah, but there is.... http://maccentral.macworld.com/news/0206/18.toshiba.php |
| Fri 30 Aug | William Frantz | > pb - Ah, but there is.... > [Gigabeat] Not the same thing. 'pb' is right. I can't understand why everybody isn't copying iPod's example. For one, iPod is stylish. Lucite face, chrome back... it's pleasent to hold and to look at. It feels very sturdy. The thumb wheel is genious. The size is perfect. Gigabeat missed it. Removable media isn't really necessary with 10 or 20 GB storage and Firewire. It adds to the complexity, size, and weight. The price quoted in the article for the 5 GB version is $100 more than the 5 GB iPod. The navigation pad isn't as easy as the thumb wheel and the thing just looks ugly. Nope, for the same price I'll take a 10 GB iPod any day. |
| MENSA and all it entails | Thu 22 Aug | Engineer on the Fence |
| Just curious, are any of you in MENSA? To try to relate it to the forum, it seems that our field requires at least a *slightly* higher intelligence quotient than average, and the egomaniac in me thinks surely wed all be in the top 2%! :) Ive given consideration to trying to join, but if any of you are members touting the benefits of MENSA, or have strong beliefs against such an accepting-yet-simultaneously-elitist organization I would love to hear about it. |
| Mon 26 Aug | James Ladd | Oh great, give me a link I cant use during work hours :( |
| Mon 26 Aug | mackinac | >>> from the latin 'minsa' meaning table. <<< Perhaps there are variations in spelling, but according to both my dictionary and the Mensa web site the Latin for table is 'mensa'. And this is the origin of the name. Concerning tests: there are several options for testing. One may use SAT scores. More at the Mensa web site. I'll leave the URL as a trivial excercise for the reader. :-) |
| Mon 26 Aug | Ed the Millwright | Yes it's interesting: Mensa (pl. mensae) f table a. meal, food, course; table mensa secunda - dessert b. sacrificial table c. counter of a money-changer So you might ask (despite Mensa's accounting of the story of their name) - which of these has anything to do with being smart? Of interest is another Latin word: mens (pl. mentis) f mind, intellect, understanding a) judgment, discernment b) disposition, feeling, character, heart soul; spirit, courage, boldness, passion, impulse c) thought, idea, opinion d) plan, purpose Here's my own theory: The founders were either thinking of mentis and didn't bother to actually look it up but assumed they knew best. Or the founders were thinking of 'mental' and thought mensa was a word they made up without checking into it. Notice in both cases a lack of diligence in checking because of belief they are really smart and don't make mistakes. Notice also the 'cover-up' -- the changing the story to be about tables and such as if that was their intention from the beginning. Wager: the founder who picked the name is an ENTP -- the creative sociopath (mental case) who knows better than every one else and does not need to bother checking facts before making big decisions, then does what is necessary to cover-up his mistakes, but never ever ever to his deathbed will admit to them. Not all Mensans are like that. But if you have one on your development team -- watch out! |
| Tue 27 Aug | Seth Gordon | I once attended a speech by Isaac Asimov at MIT. When he mentioned that he was the honorary president (or some such) of MENSA, the audience hissed. |
| Tue 27 Aug | Not a Mental Case | Wager: the founder who picked the name is an ENTP -- the creative sociopath (mental case) who knows better than every one else and does not need to bother checking facts before making big decisions, then does what is necessary to cover-up his mistakes, but never ever ever to his deathbed will admit to them. Hey, I'm an ENTP, and I get on fine. So do my co-workers. And Sociopath is a technical term, meaning what used to be called psychopath, and shouldn't be used lightly. |
| Tue 27 Aug | Ryan Eibling | Everybody's entitled to their opinion, but I think most people posting in this thread are spouting off about the wrong things. Many people here are passing judgement on the organization and all of its members based on conjecture about the typical MENSA member's motivation for joining. I am not a member but I went to one of their testing sessions (in which they administer two IQ tests) and qualified. I was interested in joining because it seemed like some of the events might be fun and it's another way to meet some people. I don't see anything wrong with that, do you? Is the general public's perception of the organization important if you have fun and meet interesting people? Even helpful feedback from current and former members isn't going to help you if you join and find out that your local chapter happens to be full of socially inept duds. I say that if you think you might have fun, join. Give it a shot and see what happens. I may yet do the same, I just found other things to occupy my time so far. |
| Tue 27 Aug | Ryan Eibling | Oh, and I have to say something about the 'IQ tests are crap' thing. That's what I thought until a few years ago. Although they may not mean exactly what people think they mean, in my personal experience they have been *incredibly* consistent. I've taken three IQ tests in my life (don't know specifically which ones): one in kindergarten (for admission to a 'gifted' program at school) and two for MENSA in 1999. Two of the scores were exactly the same and the other was a single point off. That's pretty remarkable to me, and seems like it must be fairly accurately measuring something. |
| Tue 27 Aug | Anonymous Coward | IQ tests may be consistent, but the Myers Briggs stuff isn't. I took the test about 15 years ago, and it said I was an ISTJ. I took it again about 7 years ago, and two of my letters changed (can't remember which ones). After I took the test the second time, I dug up a bunch of references that argued that the whole thing is a bunch of B.S. I was going to send all articles to the people who made me take the test, but then I got cold feet, and never did it. |
| Wed 28 Aug | SZP | Also regarding Robin Debreuil's suggestion that 'IQ tests are pretty much full of crap', it should be noted that, in general, Robin's probably correct. In study after study, IQ tends not to be a predictor of success in life. However, IQ is very much a predictor of success in technical fields - and this *is* a discussion board for technical people! |
| Wed 28 Aug | Robin Debreuil | Well I'm sure each one measures something, they are tests after all. Just it isn't intelligence. We like to think things like pattern recognition or logic are where intelligence lies, but in reality these are just simple things that humans tend to be awful at. Something like language is so much more of a complex a task they can't even be compared. Just everyone is wired for some language, so it is harder to separate them out. It is probably also much harder for someone who thinks they are smart to admit that a degree in English lit is a greater intellectual accomplishment than a degree in computer engineering. I can imagine the day when computers out do us in recognizing patterns, logic, and memory (soon). But it seems pretty far off before they can hold a conversation at the level of a Joel on Software Mensa thread - probably the high water mark of modern civilization so it would be tough. We are testing the brain for some obscure side effect, happy defect really, and then joining a smug club over it. If there is any reason to have that kind of club it would be to help each other with the things they/we tend to lack - social skills, a good immune system, perspective, loose grip on head (I include myself in this group, not trying to put anyone down) (actually to be honest I'm trying to subtly boost my ego while avoiding the membership fees). I totally agree with the hard work = success thing, I read one study isolated it to 'high energy people', you know always animated, bouncing around, often more excited than seems necessary... That wouldn't surprise me at all either. I think we are all close enough that it comes down to 'who wastes less of their day'. With computers and machines, it is a freak time in history, where we have built these machines, but we haven't tamed them to the point that they come to us. So yeah that kind of thinking has value at this point in time anyway, but even at this point it has little bearing on being successful. Robin PS This is a technical fourm? That was a technical question?!? |
| Thu 29 Aug | Ed | Ok, sorry for the overgeneralizing on the ENTP thing. There's just a correlation between testing ENTP and having antisocial personality disorder. And yes, I know the technical meaning of the term. Charismatic, highly intelligent, astute insight into the motivations of others, and biochemical inability to learn from mistakes. Not all ENTPs are sociopaths. Probably not many at all. But more so than for other types. |
| Thu 29 Aug | | WTF is an ENTP? |
| Thu 29 Aug | anon | It's that thing you get when you type ENTP into Google. |
| Thu 29 Aug | | There are 70+ pages of links from Google for ENTP, of which I am sure more than one relates to what was ebing discussed. I am also sure that some of them do not. |
| Thu 29 Aug | Ed | ENTP is a personality genotype generated by the myers briggs personality type inventory the pairs are: Extroverted/Introverted iNtuitive/Sensing Thinking/Feeling Perceiving/Judging the names are taken from Jung. you can be 100% E or 51% or 10% (which is 90% I) personality types are set by age 7 and usually don't change much, but if you're in the 40-60% range on one you can swing. it's less likely to be it the middle of a range than near the sides. |
| Thu 29 Aug | J. D. Trollinger | Robin wrote: 'It is probably also much harder for someone who thinks they are smart to admit that a degree in English lit is a greater intellectual accomplishment than a degree in computer engineering.' I dont' know about that. I know a guy who has a Master's degree in English. He doesn't even know how to write a paragraph without making a couple of elementary grammar mistakes. From what I understand, English departments haven't taught grammar in years. Sadly, these days an English degree only means that you spend your time slinging bullshit words and phrases, like 'hermeneutics', 'mythopoetical', or 'predeconstructivist'. http://www.zmag.org/letter_from_yale.htm |
| Thu 29 Aug | Dunno Wair | Poor bastards...they have to come up with long, convoluted sentences full of obscure words in order to conceal their ignorance, instead of having access to an endless supply of meaningless buzzwords and acronyms like us. |
| Thu 29 Aug | Chris Tavares | Robin wrote: 'It is probably also much harder for someone who thinks they are smart to admit that a degree in English lit is a greater intellectual accomplishment than a degree in computer engineering.' If that's true, then why did I need 135 credit hours to get my engineering degree when my english major friends only needed 120? |
| Thu 29 Aug | Dunno Wair | For the same reason you need 1000+ hours/year of class time to get a high school diploma and 0 hours of class time to get a PhD? |
| Thu 29 Aug | life is like that | Poor bastards...they have to come up with long, convoluted sentences full of obscure words in order to conceal their ignorance, instead of having access to an endless supply of meaningless buzzwords and acronyms like us.
..Im not a gay man, but would consider making an exception (if its necessary) for the individual who wrote the above sentence.....
|
| Thu 29 Aug | Adrian Gilby | On the other hand, take this example from the recent thread about bad UI design: 'Well, epistemologically speaking, a bad UI design is still bad, regardless of it's ubiquity, because truth is immutable. IE, given we discern through logic badness and goodness of an empirical, artificial machine (a computer program), it's ubiquity is totally irrelevant.' ... I'd say we have the worst of both worlds. |
| Fri 30 Aug | Robin Debreuil | 'If that's true, then why did I need 135 credit hours to get my engineering degree when my english major friends only needed 120?' I guess because English majors are smarter? What else could that possibly mean? The point is reading a book, or even speaking a sentence is a way more difficult task than calculating stresses on a bridge or programming a chip. Just we suck at it. It may be already possible to make computer program that scores 200 on an IQ test, but it certainly still can't read. This isn't because the deck is stacked in machines to favor logic and math, it is because math and logic are bone-ass simple problems compared to language. 'I know a guy who has a Master's degree in English. He doesn't even know how to write a paragraph without making a couple of elementary grammar mistakes. ' How could someone go through university, get a degree, and somehow not have the superior knowledge? I just don't understand how your friend could have slipped through the cracks. Have you reported him? |
| Programming Language Discussion = Religious War | Wed 21 Aug | Rob Leighton |
| Let me begin by saying that Im not trying to be a troll or start the Programming Language Version of Mine is Bigger/Better. I was reading the posts in another thread and once again was struck by the fact that programmers seem to be extremely sensitive to any suggestion that their programming language of choice is not The Best Choice. This seems to be peculiar to programmers; Ive never heard one accountant say to another accountant Jeez Fred, your Year End Adjustment Journal Entries suck ! but Ive seen more than one programmer say the equivalent to another programmer. Im curious to know your opinions as to why this happens. |
| Tue 27 Aug | James A. Robertson | Programming language choices do make a difference - for one thing, some languages are simply more productive than others in terms of the developer's ability to deliver a finished system. The best numbers on that are at this site: http://www.lineaengineering.com/Resources/Productivity_/productivity_.html I fall on the dynamic (as opposed to static) typing side of things, but the best idea is to simply try new things out - give Python, or Ruby, or Smalltalk a try. For Smalltalk, look at these sites: http://www.cincom.com/smalltalk http://www.cincomsmalltalk.com:8080/CincomSmalltalkWiki http://www.whysmalltalk.com |
| Fri 30 Aug | Grail | I just recently read 'Influence: The Psychology of Persuasion' ~ thanks Joel! So, here's some theories as to why programming language debate approaches that of religious wars: 1. The effort and pain (sometimes) involved in learning a programming language, is somewhat akin to those weird initiation rituals american college fraternities have. After going to that effort, do you want to hear that maybe it wasn't the best language to learn after all? (Whether the assertion is true or false...) No way! You justify to yourself that you wouldn't go to that effort unless it's a really -good- programming language. I also wonder if this explains some of the fanaticism of many linux users... 2. The more familiar you are with something (say a language), the more you are inclined to like it. If there is a language you -have- to use frequently (say, at work) and you do not have an actual hate or dislike of it (which will merely be aggravated by increase contact) you'll start liking it more due to familiarity. 3. It's like sports teams. People associate their language with their own identity. If their favourite language is seen as being better, it's a personal victory. Blah. *Hits head repetitively* Apologies, I'm regurgitating 'Influence: The Psychology of Persuasion' at everyone I know... |
| Serious question about the alleged Y2K bug. | Wed 21 Aug | J. D. Trollinger |
| The earlier thread reminded me of this question. A few months ago, I was at a cocktail party, and I met a retired programmer who used to work on the billing system at the local university medical center/teaching hospital. He retired shortly after the hospitals Y2K team was disbanded. He said that they had worked on the problem for over a year, and that the calender rolled-over without any major hitches. I asked him why there werent any major hitches, either, in ex-Soviet-block countries or third-world countries, where nobody even *tried* to fix the Y2K bug. He seemed slightly offended at the question and didnt even try to answer it. So... whats the scoop? Was the Y2K bug the sasquatch of the tech world -- a glorified urban legend? |
| Fri 30 Aug | Sammy | This is really why nothing happened. http://www.norvig.com/y10k.html |
| Will Habeus Work? | Wed 28 Aug | Tim Lara |
| This article details an approach to combating spammers that I have not seen before: http://www.wired.com/news/technology/0,1282,54645,00.html I applaud the creativity of the idea, but I wonder if this will actually do any good. I still dont quite understand how these faceless spammers will be tracked down when it comes time to hold them accountable. I suspect that many spam operations use the same kind of techniques to cover their tracks as hackers do (stealing bandwidth from a legit company, for example, so that the traffic cant be traced to the guilty party) so Im not sure what would stop spammers from stealing the trusted mail headers as long as they could conceal their identity. It may cut down spam sent out by people who are actually trying to sell something, but what about spam purely designed just to annoy or offend? The other problem I see is that the legal battles will likely come down to claims of We didnt send that! Someone else is using our name! |
| Wed 28 Aug | Zwarm Monkey | When you outlaw haiku, then only outlaws will use haiku. How do Habeus' lawyers expect to track down and sue spammers that forge email headers and use hacked mail servers in Korea? They are trying to fight fire with water and sometimes that does not work. |
| Wed 28 Aug | J. D. Trollinger | OK, this is a bit off-topic, but does anybody know if the whole 'Rodona Garst' thing is a hoax? The story broke about two years ago, and got a lot of attention on Usenet, Slashdot, etc. It seemed a bit fishy, though. Allegedly, a hacker nick-named 'Man in the Wilderness' broke into the computer of a spammer named Rodona Garst and posted all sorts of embarrassing information about her. For details, see: http://belps.freewebsites.com/index2.htm Just wondering if anybody knows the scoop. Thanks. |
| Wed 28 Aug | Tim Lara | Hmm...Hadn't heard about this. Entertaining reading, even if it is fiction. Reminds me a bit of another off-topic link: http://grc.com/dos/drdos.htm |
| Wed 28 Aug | Tim Lara | Whoops - I meant: http://grc.com/dos/grcdos.htm |
| Thu 29 Aug | Robin Debreuil | Lets get this straight - they hacked my machine, used it to cause harm to my reputation, and we are going to put them in the clink for copying haiku? All's that has to happen is everyone in the world has to reconfigure their mail servers to detect this? Maybe instead of haiku they could insert an ad for their service, eventually that become a good business model. I thought wired died with the 90's, what's going on? I noticed this while reading a link Matthew Lock pointed out in another thread (same site) - it talks about using statistical analysis for words to detect spam, sounds a lot more plausible if less sensational. http://www.paulgraham.com |
| Thu 29 Aug | Ged Byrne | Sounds like a 'boil the ocean' scheme to me. The way I understand it is: - The company produces some Haiku and copyrights it. - EMail senders purchase the right to include the Haiku in there emails. - Email is filtered so that only email containing the Haiku is premitted. The whole thing works as long as every legitimate user of email purchases Haiku rights (and the company makes a mint). If only a hundred or thousand users do, it means nothing. It's just a rather dull signature. |
| Thu 29 Aug | David Clayworth | It seems to me the problem is informing everyone who might email you of your haiku. You could easily eliminate spam now by rejecting every mail that did not include your haiku (or some other code). I can't believe that a spammer would take the trouble to identify your piece of text (unless there is an automatic way of doing it? Suggestions?). The trouble is that anyone who didn't know your key would get their mail dumped in with the spam. I think the copyright side is a red herring, because of the unenforcability. For example, if a spammer quoted an email that contained the haiku and looked as though it came from you, would that be legitimate use? Plus the fee for copyright is not small. How many are they going to copyright? 100? 1000? |
| Thu 29 Aug | Leonardo Herrera | This topic was discussed on slashdot about a week ago. It produced lots of interesting replies... in haiku, of course. |
| Thu 29 Aug | Zwarm Monkey | David Clayworth, no one needs to know your haiku because you don't have one. Every email would use the SAME haiku, which is copyrighted by the Habeus company. I agree with Ged that this is a 'boil the ocean' strategy (to borrow Joel's phrase :-) that just won't work. If every email I receive that does not have the haiku is dumped in my Spam mail folder, then I will have more email in my Spam folder than in my Inbox! Every legacy email reader and email server will be generating spam false positives. :-( |
| Software Rights, Responsabilities | Tue 27 Aug | Diego Martin Lafuente |
| I want to ask something that i really doesnt know can affect this in usa. Let me see, Im a developer, who has a company, who wants to sell a software to a governamental market. My software should manage and make transactions over the internet and as i said manage delicated data, it could be very important now, if something happens... like someone enter and hack all the damn thing... What can save me from get in jail, or get sued... Who has all the responsabilities for data loss? Do i need to write an excuslive agreetment that all the software seems to work but doesnt asure that data cant be lost? I want to know to were i can go using an agreetment and doesnt being sued or get in troubles. Thanks in advice... |
| Tue 27 Aug | vern | You need to talk to a lawyer in your country... |
| Wed 28 Aug | Alberto | Buy liability insurance, it's not that expensive. |
| Wed 28 Aug | Evan | Read any licence agreement. None of them even promise that that software will work, but if the CD is defective, they will ship you a new one. Licenses specifically deny responsibility for any loss, of any type, for any reason, of any amount, to any parties. |
| Wed 28 Aug | Erik | If you're a professional you are ready to own up to your mistakes and repair or compensate any damages you cause. You might have an insurance to back you up financially, but you take responsibility. But do make sure that you protect yourself from damages caused by circumstances beyond your control. Hint: failing software isn't, abuse is. License agreements that reject all responsiblity are a cheap way out, and will last only as long as the general public or legislative organs accept them. |
| Wed 28 Aug | Serge Wautier | > Licenses specifically deny responsibility for any loss, > of any type, for any reason, of any amount, to any > parties. In most EC countries, law protects the consumer (to some extent). Having a license agreement that states that you're not responsible is worth 0.00 €... |
| Wed 28 Aug | Adrian Gilby | Serge, if the license agreement explicitly states that you must accept the terms of the agreement in order to use the software, then does that protect the corporation? Person whose house blew up because 'house manager v0.1' crashed: 'I want compensation because your software blew up my house. You cannot duck responsibility by putting disclaimers in your licensing terms.' Lawyer for large corporation: 'Okay, we accept that we can't duck responsibility for the software crashing. But you weren't allowed to use the software unless you accepted the agreement. Either you were using the software illegally because you didn't accept the agreement (in which case you can't expect us to pay compensation) or you accepted the agreement (in which case you can't expect us to pay compensation)' Person whose house blew up: 'Damn'. On a more serious note, does anyone know whether this sort of argument has ever actually been discussed in a court of law or explicitly addressed in legislation? |
| Thu 29 Aug | anonymous | I would put a clause in my license agreement the states. Compensation for any damages that arise from the use of this software shall not exceed the license fey paid for this software. I would ask a lawyer for the correct wording. |
| Thu 29 Aug | Erik | If you give your software capabilities that might lead to considerable damage, you should put your effort into knowing what you do, not ducking responsibility. Make sure your software either can't get to where it can do serious damage, or make sure that your software can't fail to the point of causing serious damage. Countless professions have done this for ages and there is no other profession that even attempts such obvious quackery. Imagine your surgeon waving these kinds of agreements in your face and refusing to operator on your ingrowing toe nail unless you sign. Learn how not to cause damage. Until then can, don't play with fire. |
| Thu 29 Aug | Erik | Or matches... |
| Thu 29 Aug | Greg Neumann | I've known surgeons to refuse to operate on someone's spine unless she signed a contract waiving all liability. Malpractice suits are killer. While it disturbs me that someone wants to sell to my government with a license disclaiming responsibility, it's really a rational choice. I think if he were really at fault for bad workmanship, he can be sued anyway. Where it's unclear (bad user practices?), he probably shouldn't be fully responsible. A support contract should be in place to handle cases of failure. (By the way, why don't they just film the damn surgeries, and then staffs of experts can critique the procedure in case of malpractice. Come on.) |
| Thu 29 Aug | Erik | 'I've known surgeons to refuse to operate on someone's spine unless she signed a contract waiving all liability. Malpractice suits are killer.' They are also something very peculiar to the US (and maybe one or two other places). Instead of fixing one funny thing with another, why not remove this altogether funny business and remove the need for silly waivers at the same time. (I know culture can't be changed that easily, so there's no need to reply to tell me that :) By the way, waivers are not a bad thing, but they should only waive someone elses responsibility, not your own. And as said before, good law systems protect people from malpractice no matter what. That doesn't dismiss the fact though that as long as software license agreements remain as they are, they lower the bar for charlatans, because they - the licenses - give the impression that you can get away with anything. The damage is done by the time that the question of liability is raised, when it should be prevented. The absence of such silly agreements, and the indifferent acceptance by the general public, in other professions makes for a much more responsible practise beforehand. |
| Thu 29 Aug | Serge Wautier | Adrian, I don't know the details, but I know that users are protected against too restrictive license agreements that are considered too restrictive under the principle that law has preference over a contract. i.e. You may not waive your responsibilty with a contract that contains illegal statements. The one who accepted the terms and signed the contract may come up in court and say 'Yes I signed but here is a law that contradicts the contract. The always law takes precedence over a contract.' I got confirmation of this by a lawyer of my friends (I confess I've got a friend who is a lawyer. Will you still accept to talk to me ? :-) Whether adding a statement that limits your liability is legal in EC countries, I have no clue. |
| Thu 29 Aug | | Adrian - you cannot sign away your rights under law by siging a contract (or accepting a license agreement). At least, in any civilised country... |
| What is the future of Visual Basic .NET | Tue 27 Aug | A.B.S. |
| I just attended a Visual Basic .NET tour presentation by Microsoft employees in the Silicon Valley and from what they presented there is a huge potential for VB.NET. Now, I am trying to change my skills from Java to VB.NET, anyone agree here that this is a right move considering VB.NET covers almost all facets of applications, Windows apps, Web apps, Mobile apps, etc. Please advise. |
| Tue 27 Aug | Leonardo Herrera | Hm, yes. It's a pretty secure move, given that Microsoft is investing gazillions on it. |
| Tue 27 Aug | Robert Chevallier | Why not learn C# which is very close to Java and more powerful than VB.NET ? |
| Tue 27 Aug | Tony E | Discount anything MS tell you, base your decision on real evidence. What facts make you think you will be more productive / higher earning / improving quality by switching from Java to .Net? |
| Tue 27 Aug | Xerex | < |
| Tue 27 Aug | Ian Stallings | [ Java will soon die, I think it is just a fad. ] bahahaha. I personally like c# better than VB.net because it's closer in syntax to Java, almost identical IMO. I wont give up on Java though, too many organizations use it to just discount it as a fad. |
| Tue 27 Aug | Daniel Shchyokin | As far as java dying: Enterprises still use unix over windows and until that changes, .NET will not displace java, and it is not likely to change As far as C# similiar to java, what gets me is why did they need structs in C#? this could lead to some very weird bugs, when you reuse a struct that you though was an object |
| Tue 27 Aug | Chris Tavares | General responses: C# is *not* more powerful than VB.NET. The two languages are, once you get past syntax differences, essentially identical. As for why have structs in C#: efficency. Structs live on the stack rather than the heap by default. Why waste time on a heap allocation for a 2d point, for example? In practice, structs & objects just work; I've never had any kind of problem with 'thinking a struct was an object'. |
| Tue 27 Aug | jb | I would not get too hung up on the language that you are using. VB.Net is a fine language as is Java and C++ ( and I assume C# - have not used it yet). Using any of these languages one can create brilliant applications and can also have complete failures. I think that you are better off ensuring that you have a grounding in general concepts of good software development and design. These concepts and patterns tend to be larger than a single language. In many ways using several languages can help by exposing you to many differant ways of doing things. It is kind of like cross-training with multiple sports to help your main sport. You can then use the best things out of all of the differant languages that you use. I also do not buy the '... is dead/passing fad' quotes. Generally speaking once a language is used by several companies for more than a few years it creates enough of a critical mass to keep itself going, regardless of the marketing hype that is spun around it. |
| Tue 27 Aug | Rodger Donaldson | JB - quite. COBOL may be dead in the popular press, but there are still plenty of people making plenty of money from it - either their business systems run it, or they make a living programming in it. |
| Tue 27 Aug | Vincent Marquez | I'm pretty sure that there are a lot of things you can do in C# that you can't do in VB.net. I can't say for certain (i've programmed in VB6 though), but I don't think you can do method overloading, or inheritance, operator overloading, and a bunch of other stuff. Now, those arn't VITAL to an application, but they certainly make life easier and cleaner. Also, who likes VB syntax for large apps??? |
| Tue 27 Aug | Chris Tavares | Method overloading? Yep, it's in there. Implementation Inheritance? Yep, it's in there. A lot of other stuff? Yep, it's in there. VB.NET is *NOT* VB 6. MS took out a lot of the aggrevating limitations of VB in the .NET version. It's a real, full grown, not quite so annoying language now. The biggest argument against VB.NET at this point really seems to be this: VB.NET is different enough from VB 6 to be a different language. If you've got to learn a new language anyway, why not learn C#? |
| Tue 27 Aug | Xxxxx Xxx | 1. There are lots of VB6 code out there waiting to be upgraded to .NET 2. The wizard in VS.NET will only upgrade VB6 to VB.NET. VB6->C#.NET conversion is not available. VB.NET will have a great future. |
| Wed 28 Aug | Alberto | If computer programming languages were horses in a race VB.NET would have the shortest odds. That's because it would be 3 times bigger than the other horses with giant legs and a stride equal to about 6 strides of the other also rans. Basically its a guaranteed winner, baring disaster. Two of the other horses will get minor places and may even pay more than the winner due to the longer odds. What am I saying - I dont know, VB net will put bread on your table for sure. The problem is that everybody else will have backed it too. |
| Wed 28 Aug | Patrick Ansari | I agree. 1) Java will not just die. It will continue to grow 2) If you want to learn another language now, learn C# and not VB.NET. A lot of lame ex-VB people will attempt to switch to VB.NET. The syntax of C# is so similar to Java (guess why) that it would be stupid to not learn C# as a seasoned Java coder. |
| Wed 28 Aug | Evan | Learn VB.Net. Learn C# In the near 'future', if you are using Visual Studio.Net to develop with, you will end up using the most appropriate language for each chunk of your programs. UIs may be written in VB, deeper code may be in C#. You may have specialised sections in C++. It should not be difficult to learn 2 new languages. At least, if you are a programmer. |
| Wed 28 Aug | Patrick Ansari | That's bollocks. The whole point of .NET is that you can use the language you're most comfortable with. Remember, you can subclass classes written in any other .NET languages. |
| Wed 28 Aug | Charles Kiley | The only advice I am going to give you is this. You should have spent more time thinking about how to word your question before you posted it. Here is how I might have written the post you made, 'I recently attended a very impressive presentation on the VB.NET programming language that was given by an employee of Microsoft. Since I am currently a Java developer, I don't know much about what Microsoft really has to offer, but I am interested in learning more. Can anyone tell me what they know about the VB.NET programming language and why they like or dislike it? Btw, I am thinking about abandoning Java and making VB.NET my programming language of choice.' Imo, which programming language a person should learn next is a very personal matter. The following are just some of the factors that I feel a person should take into account before making such a decision: * Preference of syntax (i.e. curly braces vs. verbose). * Type of programming you do for a living (business, commercial, both types, none). * Popularity of the programming language. Note: A hobbyist programmer may not care about programming language popularity, but a highly paid contractor or corporate drone will. * Limitations of the programming language. * The type of operating systems you know. * Programming languages you already know. A.B.S., I have a few questions for you. Since you mentioned that you already have some Java programming experience why do you want to learn VB.NET instead of C#, C++, Perl, ...? What do you know about the .NET framework? Do you have an opinion on why Microsoft even created it? Many people, such as myself, think it was to compete with Java and to gain market share in areas where Microsoft is currently weak. ---- Why I chose to learn more about VB.NET ---- Currently, I am teaching myself VB.NET and ADO.NET. I am doing this primarily for financial reasons. I write boring database driven business applications for a living. I have prior paid experience with Visual Basic. Granted, VB and VB.NET are not the same animal, but many employers don't see it that way. I rarely have the luxary of being able to write source code all day long (I have a broader skill set than simply programming). I could go on and on and on, but these are the main reasons why I chose to learn more about VB.NET. Once I become more familiar with the .NET framework, I will probably try to learn C# and ASP.NET as well. Imo, learning programming language syntax is not that hard. Being productive with everything that is associated with a particular programming language is another matter altogether (i.e. Classic VB - various data accesss methods, API hacks, third-party components, etc.). |
| Wed 28 Aug | Dunno Wair | So is C# going to turn C++ into a 4GL, or have RAD environments already accomplished that? |
| Wed 28 Aug | Alberto | My understanding is that vb.net will be able to achieve exactly the same end result as c# with zero differences. I view c# and vb as wrapper languages/syntaxes around the CRL. Am I not seeing the full picture, is there more to it? |
| Wed 28 Aug | Mike S. | Considering the installation base of VB6, I think in terms of marketability, you are better off knowing VB.NET instead of C#. Take note that Microsoft will only support VB6 and earlier version up to 2005 with final extension of until 2008, so companies need to migrate to VB.NET before that date or else they will end up no support from Microsoft. |
| Thu 29 Aug | anon | I don't get this. If you're a Java coder, why not learn .NET? It's clearly an MSFT thing, made easy for Java people to switch over, and might as well cover your bases in that incestuous, copycat space. Only part that sucks is you probably have to pay MSFT for the privilege of making apps for their platform. You'll probably have to interop anyway between Java and .NET. |
| Thu 29 Aug | Xxxxx Xxx | Market Cap. of MSFT : $267 billion Market Cap. of SUNW : $13 billion VB.NET should have a bright future. |
| Thu 29 Aug | Robert Chevallier | To be fair you should at least compare market cap of MSFT .vs. SUN + ORACLE + IBM + BEA + ... But *.NET of course will stay, like Java (server side and mobile side). |
| Thu 29 Aug | Alex Moffat | 'Market Cap. of MSFT : $267 billion Market Cap. of SUNW : $13 billion VB.NET should have a bright future. ' The same sort of bright future as DCOM, Hailstorm, or digital dna? Those were all MS backed. This is certainly one of the issues that is brought up against .NET. Would you bet your development future on a company that makes it's money through software churn and planned obsolesence? If you go VB.NET this year and in two years time VB.NET is replaced by Visual Haskell what do you do then? One of Microsoft's most successful tactics, because they have so many developers, is to change things around so qucikly that competitors find themselves trying to imitate last years hot thing. Unfortunately this can mean that the hot new technology you've just learned is declared old hat and replaced just when you've got the hang of it. |
| Thu 29 Aug | Ian Stallings | [The same sort of bright future as DCOM, Hailstorm, or digital dna?] Thats not a fair comparison. DCOM is a small part of COM which you cannot develop on Windows platforms without, Digital DNA is just a marketing term that ties all of their servers and their COM/COM+ tools together. Hailstorm was simply a idea that they didnt feel like pushing but it was far from the core of .Net, it was really just some tools built on web services and passport using .Net, portions of it still exist and will move forward. MS is putting their whole weight behind .Net, it's their next COM. I see it as a great new win32 api that makes the hell of COM a thing of the past. Unfortunately though COM is not going away and interop between the two is part of the plan. .Net might not take off like the rocket they thought it would be, but I think that's because the market as a whole is not doing that well and also there is some confusion, due to shoddy marketing, on what .Net exactly is. |
| Thu 29 Aug | PaleRider | OK. Let me get this straight: 1. Microsoft's market cap is 20 times greater than Sun's so we should worry about Sun folding and leaving Java developers out in the cold. 2. Microsoft has the money, and size to make VB.Net (and all of .Net) old technology next year and we'll all have to learn something new just to survive. Conclusions: 1. Neiter 1 nor 2 above is likely to happen 2. I'm going to get out of this profession and spend all of my time fishing. 3. Mental breakdown is also an option. |
| Thu 29 Aug | Dave Rothgery | Drifting back into the merits of languages and platforms, rather than the market caps of software and hardware firms... Should you learn any .NET languages at all? If you want to be able to work on Windows in the next five years, certainly. If not, it's more of an intellectual exercise; Mono isn't ready for production use yet, and I think the license for Rotor limits its commrercial use. Microsoft suggests that if you're coming from a C, C++, or Java background, you'll probably want to do .NET in C#; from a VB6 or VBScript background, you'll prefer VB.NET. There are a small number of things that can be done in C# but not VB.NET, and even smaller, but real, set of things where the reverse is true, but both are pretty much a superset of Java in terms of language capabilities (note that I said language, not platform). I'm a VB.NET fan myself. The unique capabilities of C# (mostly unsafe code and operator overloading) are of little use to me, I prefer VB.NET syntax (more verbose, case insensitive, less punctuation-heavy), and I like having some things that the VS.NET IDE provides for VB.NET but not C#. The unique VB.NET features aren't all that useful to me either (much cleaner late binding, default/optional paramaters, Handles on event handlers, Implements on interface overrides, and Catch/When), but I like having them around. |
| *Interesting* Projects all over the Net... | Tue 27 Aug | dk |
| I have noticed that number of conceptually interesting projects (either commercial or academic) converges to nearly zero during past 5-7 years. Actually I dont remember the last time I looked on project and wowed, saying This is a new concept. Is it only me, did somebody else noticed the trend? If so, does anybody have an explanation of the effect? This is my first post there. I want to thank Joel for taking the time, writing and putting the stuff together. My current out of flow gap was filled with extremely interesting reading. Thanks. And please, excuse my poor English. |
| Tue 27 Aug | ssh | Please tell us what you find interesting. For example, do you find Lambda the Ultimate stuff interesting? Slashdot? http://lambda.weblogs.com/ By the way, I agree that we were in a Dark Ages. But I think we're coming out of it. Part of it is that we've got a lot of computing power. And the OS wars are over for a while; now people are getting bored of Windows/Mac and looking at new stuff. Open source is coming along nicely, no longer copying but often being where the innovations prove themselves. |
| Tue 27 Aug | Matt Conrad | See www.sweetcode.org . |
| Tue 27 Aug | dk | Ok, a few examples of what I find interesting and what not. Linux is 'make just another UNIX clone'. Not interesting. KDE os 'make just another Apple/Windows-like desktop'. Not interesting. World-Wide-Web + Mosaic/Netscape/IE/Whatever. Yes, I now this is a great thing, but this is more publishing breakthrough then interesting software project. So, Not interesting. Lotus 1-2-3. Spreadsheet is clearly a genius idea. UNIX (yep, that os invented in 60's) has an interesting and powerful concept - 'everything is and is in a file system tree' Interviews - a GUI toolkit (info available somewhere on www.berlin-consortium.org) with a nice concept 'every gui component is a part of a graph' Turbo C++ 3.x Editor. Guess where the big concept there? Actually this is a first editor (known to me) which filled the code with colors. This brings the whole idea of on-the-fly code parsing, so your editor makes part of the compiler work. The game of Civilization. I am not a big fan of the game, but this was clearly a new idea. Anyone to continue the list? Ok, I expect a lot of criticism here, here comes the disclaimer: the examples above represent my own personal experience, and are mentioned here just to get hint on what projects I found interesting. |
| Tue 27 Aug | Ian Stallings | What about complex adaptive systems, agent based computing, grid computing, genetic algs, ditributed compouting (folding), database file systems, wireless, new collaboration tools, quantum computing, chaotic systems, digital rights management, p2p, cryptography, ubiquitous computing, etc, etc.. I mean come on, to say that their are no interesting projects .. that's very subjective. I find more than enough to keep my mind busy. There are plenty of challenges that still need to be solved. |
| Tue 27 Aug | Luke Duff | The computer game Civilization was based on the Avalon Hill board game of the same name. |
| Tue 27 Aug | Just me (Sir to you) | http://www.q12.org/ode/ode.html |
| Tue 27 Aug | Ian Stallings | [World-Wide-Web + Mosaic/Netscape/IE/Whatever. Yes, I now this is a great thing, but this is more publishing breakthrough then interesting software project. So, Not interesting.] Funny how something that has literally changed the world is dismissed as not interesting. Pretty high standards. Geez, What do you want? Someone to part the Red Sea? Will that get the badge of 'interesting'. |
| Tue 27 Aug | Dan Sickles | Lotus 1-2-3 was a genius marketing idea. Visicalc was the original genius spreadsheet idea. |
| Tue 27 Aug | dk | Surely WWW changed our lives but this is not my point. I am not in search of project impacting our social lives, I am in search of project with some new great concept. Surely there are many interesting projects like clustering (I am putting p2p, grid computers etc... under this cover), genetic algorithms and other stuff, but think when all this stuff begun to appear? 5-7 years ago. I recall early quantum computing talks at 1996-97 or so. |
| Tue 27 Aug | Robert Chevallier | the WWW is based on a interesting concept for a distributed architecture : REST which made it quite interesting and different from what you could see before: RPC or MOM like distributed architecture WWW works because of the loosely coupled and simple grammar. CORBA and other lost for massively distributed systems. Just simply revolutionnary IMHO |
| Tue 27 Aug | Just me (Sir to you) | 'Surely there are many interesting projects like clustering (I am putting p2p, grid computers etc... under this cover), genetic algorithms and other stuff, but think when all this stuff begun to appear? 5-7 years ago. I recall early quantum computing talks at 1996-97 or so. ' Dk, I think you are confusing the 'I had this great idea at the bar last night and here's my paper. I own your thoughts' with the actual hard work of doing things. Most of the 'stuff' you refer to was old hat in the 'last night at the bar' department decades before the 5-7 years ago you mention. Most of the truly interesting aspects of these subject in the knowledge/working department have barely been touched upon. It is my vain hope that the 'option 1' crowd will just stick to publishing in the 'science fiction' section one day. |
| Tue 27 Aug | Daniel Shchyokin | 'Funny how something that has literally changed the world is dismissed as not interesting' the whel, fire, and christianity changed the world, many people don't find any of those things interesting |
| Tue 27 Aug | Doug Withau | Congratulations dk, you are becoming a mature software professional. You have realized that everything hyped as new and 'kewl' is made of combinations of old ideas. There are very few new and totally original ideas. When a truly new idea does come along, it usually takes years for someone to realize the significance and make something useful out of it. (Think about Xerox Parc and Apple/M$.) |
| Tue 27 Aug | Andrew Simmons | I find the Plan 9 operating system interesting - it takes the 'everything is a file' concept even further than Unix, although it seems unlikely ever to become widely used: http://plan9.bell-labs.com/plan9dist/ The notes for Rob Pike's talk on 'Systems Software Research is Irrelevant' are interesting if depressing reading: http://www.cs.bell-labs.com/cm/cs/who/rob/utah2000.pdf |
| Tue 27 Aug | David Blume | Sir, that's the second time ODE's been mentioned here. I'd just suggested it for Warren in http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=13822 It's nice to know that others find it interesting, let's just hope that they devote the time to make something of it. |
| Tue 27 Aug | Darren Collins | I find code editors that support refactoring interesting. And Python. And Zope. |
| Tue 27 Aug | Rodger Donaldson | The Web is, on one level, just 3270s with pictures. So while it sparked a lot of business and made the 'net worth using for many people, it's still not hugely revolutionary. Everything old is new again... |
| Wed 28 Aug | Just me (Sir to you) | 'that's the second time ODE's been mentioned here' Hadn't folowed that thread, but I guess this means at least two votes for ODE being *Interesting* at least. |
| Wed 28 Aug | trollbooth | Can someone please point me to anything human created that hasn't been built on the work of others? Isaac Newton built on the work of others yet one couldn't say that The Principia wasn't revolutionary. All of man's creations come from a combination of ideas and events, but that doesn't mean they aren't new. IMHO your lack of interest sounds like a personal problem. If you are that worried about it why don't you create something new and stop waxing philisophical on it? Create something! |
| Wed 28 Aug | Sammy | No, you're not the only one who's noticed this. http://www.dreamsongs.com/Feyerabend/FeyerabendInvite.html http://www.dreamsongs.com/Feyerabend/Feyerabend.html Looks doomed to failure, but interesting. Their steps are wrong and insulting on so many levels, that I guess it will be pretty influential 20 years from now. ;-) |
| Wed 28 Aug | Tom Blackwell | 'Can someone please point me to anything human created that hasn't been built on the work of others? ' Silly Putty? Deely Bobbers? Mountain Berry Kool-Aid? |
| Wed 28 Aug | Mr. Light Loafers | Windows. That was an original work. Gates is a god. |
| Thu 29 Aug | David Blume | Light Loafers, (Guess I'll be the first to get caught in your troll.) Lots of us here really do respect what Microsoft has accomplished. But we don't deny the original contributions by Xerox and Apple. The Beagle Brothers (San Diego, early '80s) were gods. http://www.panic.com/~stevenf/beagle/ |
| Thu 29 Aug | Mr. Gorden Light Loafers | I'm feeling a bit aiiree today. Floating ,really. |
| Strategy Letter V Rants | Tue 27 Aug | Nick Bauman |
| Okay, yes, yes, yes, microeconomics are such an impregnable certainty of logic, isnt it? I can smash this article in three words: The Civil War The south, in the very act of perparing for war to protect their way of life (including slave ownership, plantations, non-centralized lifestyle, etc.), had to utterly destroy it to win the war, (become an industrialized region like the North) which losing the war accomplished anyway. So it was a lose-lose situation for the South. Yet they had people signing up to go fight the Union right up until the end! Here are three more smashing words: War On Terrorism The US, in the very act of perparing for war with dangerous box-cutter-wielding suicide commandos, spends itself into oblivion manufaturing $billions upon $billions in new weaponry, to protect their way of life (including driving large SUVs that eat tons of gas -- funding terrorist enemies at the pump!, having the libery to discuss how Dubbya would probably fail an interview in the private sector as a parking lot attendant and not fear imprisonment, not have their phones tapped, not have the cable guy rat to the FBI that they have Pakistani friends who like to talk about the Koran to non-muslims), they destroy that very way of life in the process of protecting it. In other words, the world, not even the financial world, doesnt even function based on the rules in Microeconomics. |
| Tue 27 Aug | Richard Jenkins | If you're saying that irrational entities can survive in this world -- welcome to Earth! |
| Tue 27 Aug | Ged Byrne | War plays by an entirely different set of rules, it is true. For example, the battle between Sun and Microsoft is war. As Joel points out, Sun are destroying their own niche in order to undermine their enemy at Redmond. |
| Tue 27 Aug | Joachim Hartmann | 1) 'I can smash this article in three words:' I got two words: 'What article!' 2) 'The south, in the very act of perparing for war...' What's 'perparing'? do you mean 'preparing'? Microsoft has spent a lot of money creating word processors capable of spell checking etc. You might want to try one! (You've got several spelling errors). |
| Tue 27 Aug | Nat Ersoz | Well, at least in Texas they perpare fer thangs. Doesn't limit the 'ffectiveness of his point none. |
| Tue 27 Aug | Contrary Mary | Ah, yes. And when I throw a ball into the air, it disproves the laws of gravity. |
| Tue 27 Aug | Paulo Caetano | >Okay, yes, yes, yes, microeconomics are such an > impregnable certainty of logic, isn't it? Well, either I have no idea what 'microeconomics' is, or this is the best joke I've ever heard - or at least, one of the best. > they destroy that very way of life in the process > of 'protecting' it. The 'Western Way of Life', as specified, is actually quite nice. Unfortunately, our implementation of it is nothing worth protecting, or even fighting for. > In other words, the world, not even the financial > world, doesn't even function based on the rules in > Microeconomics. The financial world functions based on rumors and scams. Everything else is a smoke screen. |
| Tue 27 Aug | Dunno Wair | *Eyes wide, DW backs out of the thread, careful not to make any sudden movements.* |
| Tue 27 Aug | Paulo Caetano | > *Eyes wide, DW backs out of the thread, careful not to > make any sudden movements.* Fe-fi-fo-fum... I smell... Like Teen Spirit? Out of inspiration. Sorry :) |
| Tue 27 Aug | TK | Economics is a social science which does the best it can to understand human behavior. Humans don't follow economic laws, economics laws follow humuns. |
| Tue 27 Aug | TK | Whatever a 'humun' is. |
| Tue 27 Aug | Steve Wheeler | The singular of 'humus,' maybe? |
| Wed 28 Aug | Paulo Caetano | > Economics is a social science which does the best it can > to understand human behavior. Humans don't follow > economic laws, economics laws follow humuns. Absolutely right. Unlike someone said once, money is not the root of all evil. We are the root of all evil. Which makes it a rather complicated matter to set right, as it's somewhat counterproductive to present a plan for a better planet along these lines: 1. This document presents a plan for a better planet. 2. The goal set by this plan is to improve the living standards on the planet Earth. 3. We propose to do so by eliminatnig the root of all serious problems on the aforementioned planet. 4. We have identified the root of all serious problems as the human race. 5. We therefore must elimin... er... We mean... What do we mean, exactly? Apparently, a much better plan was found: 1. This document presents a plan for a better planet. 2. We hope to find one real soon, because we're overdue for an eviction order from this one, where we've decided to stage our squatting. :) ----- Suravye ninto manshima taishite ('Peace favor your sword') Paulo Caetano |
| Wed 28 Aug | Seemore | Maikrosoft spel chekar vor seil!!! Worgs grate |
| Wed 28 Aug | MadMan | Anyone read 'Butterfly Economics' yet? http://tinyurl.com/177s |
| Thu 29 Aug | | Paulo - I'm sure people have said it, but the actual quote is 'The love of money is the root of all evil' |
| Thu 29 Aug | Paulo Caetano | My mistake, then. That does describe the 'problem' more accurately. BTW, do you know who said it? ----- Suravye ninto manshima taishite ('Peace favor your sword') Paulo Caetano |
| Thu 29 Aug | | Timothy, 6:10 |
| good design for geographically dispersed team | Mon 26 Aug | Pete |
| Joel wrote There just isnt enough bandwidth to do good design when a team is geographically dispersed. Im not saying it cant be done at all, but the results are vastly better when the entire team is physically in the same location. Im convinced of this, and will never agree to do software development with a dispersed team What about if one person (or people at one location) manage or have the final say on design - and people in other locations do the back-end stuff - I would be interested to hear your thoughts on this situation. Or do you think that most development is so tied to UI design that it is difficult to achieve this seperation? |
| Mon 26 Aug | Sammy | Distributed dev is a superset of the close teams that Joel favors. At any point, you can develop the way you want, and ultimately fork if conflicting goals get too hairy. In fact, the fear of forks might eventually be considered immature. Very productive, tight teams can do well in distributed environments. A hybrid approach for large opensource projects is common. Huge Linux get-togethers and Python conferences. |
| Mon 26 Aug | Leonardo Herrera | I believe Joel always refers to 'software development' as in 'commercial software development.' In that context, I agree with Joel. I've seen many times when a discussion of certain aspects of software development only get finished when someone walks to the whiteboard and draw some boxes with arrows on it. |
| Mon 26 Aug | IanRae | It's not just geographically dispersed teams that have this problem. The same thing can happen with in a single office. Consistency is one of the most important things for a UI. And it won't happen if twelve different people (with different skill levels, interests, and language ability) are all doing UI. At least within a single office you can have those five-second whiteboard discussions to argue out some UI issue. But a better way is to have one person do the UI and everyone else just expose a Model (as in MVC) for items needing a UI. Another way to do this is generating UI automatically from XML descriptions. Each feature developer submits the XML, and a separate UI group writes the UI generator. |
| Mon 26 Aug | Nat Ersoz | Is UI design and implementation unique in this way? I'm not sure. I've never been involved with a truly distributed team like the Mozilla project. I'm likely not going to make any decisions about working in a distributed team until I've actually done it myself, either. Learn from others' mistakes, you say? Well, maybe... But Mozilla is unique in too many ways, the most obvious is that Mozilla is HUGE. The code base for Mozilla is a monster. So large that I'm amazed that anything ever came of it. Yet, the Mozilla browser, which I'm using right now, is arguably the best in the industry. It beats IE in speed and usablility (I don't know how Windoes users tolerate all that popup nonsense). Certainly to ciriticize Mozilla for it's results would be wrong. Despite its size, it did not go the way of the dino, and in the end, it is a thing of beauty. Back to projects... I'd say this, any project I've been on needed a strong product definition. Projects that failed to communicate the product definition to its implementors failed. New ideas, coool as they may be, should always be pushed off to version 2. Version 1 should ship, keeping to schedule and be stable. Having UI designers making decisions in real time is a nightmare. Been there once before. If there is one thing I'll never do again, its having UI designers unbound by the same schedule and process as the rest of the team. One other thing I'll never do again: I'll never work on a project that had a weak definition and/or questionable support from the company. In fact, one can guage corporate support based on the strength of the product definition. If its poorly defined, then someone doesn't know what they want - and truly has not thought through the business case for the product. They're making it up as they go along - in my experience, that ususally spells failure. |
| Tue 27 Aug | Chris Hoess | I think the wrong lesson is being drawn from Mozilla's UI woes. There are two major problems (IMO, as a Mozilla QA-type person) that are particularly crippling to Mozilla, and I don't think either of them are inherently problems with the distributed model (or even, necessarily, likely to happen with it). 1) The 'chain of command' for the UI is confused and non-existent. For the backend code, there's a 'module owner' for everything, who has the final say on whether or not a patch gets in. There's nothing like this for UI: I think Peter Trudelle may be *Netscape's* official UI lead, but I don't know what status, if any, he has under *Mozilla*. mpt is the 'default assignee' for UI bugs, which doesn't really mean anything, but he has a certain amount of unofficial authority due to a good reputation for UI decisions and availability. Because there's no clear chain of command, people end up feuding over decisions, and if mpt and the NS people take opposite sides, the deadlock is likely to be broken by whoever produces a patch...or someone tries to placate everyone by making it a preference. This also leads to the 'Slashdot'-like Bugzilla discussions Joel mentions: when it's never clear that there *will* be a final decision on an issue, people are always tempted to whine to try to get it reversed. 2) No formal standards for UI review. Code review is a well-entrenched practice: things could be better (the pool of second-level reviewers could stand to be larger), but by and large, code going into the tree meets certain standards of correctness. There's no such control over the quality of UI. Hypothetically, someone could decide that, say, the preferences for setting languages need to be more baroque, and write a patch complicating that function. It goes through code review by the people who own the appropriate backend code, who perhaps have reservations but don't feel competent to comment on UI (and who have a high understanding of ISO language codes, etc., and are unlikely to be daunted by the new UI)...and UI people may not even discover this until the next time they look at this preferences panel. Not surprisingly, there's a great deal of discontent within the Mozilla community about the lack of polish & so forth that's resulted from this, and there are a number of UI forks underway both within Netscape and as external projects; what, if anything, this will lead to, is uncertain. However, I feel reasonably confident in predicting that the only way for the mainstream project to get a UI that doesn't suck is to treat UI as it does code: make it clear that there is a place where the buck stops for design decisions (whether that's a Supreme UI Tyrant-Dictator or UI owner committee or a magic 8-ball), and to impose standards of review on UI changes. The first change is probably the most important: once a UI spec is composed and implemented, defending it is reasonably easy, but see http://mpt.phrasewise.com/discuss/msgReader$162 for the rather surreal tale of what happens when there's no one with authority to issue a definitive spec. But if these deficiencies of organization are corrected, I don't think there's any reason Mozilla can't have a satisfying and polished UI. |
| Tue 27 Aug | Nat Ersoz | Thanks for that! So, if you had your way, what would have the Mozilla UI look like, function? We ship Mozilla in our set top box product with a small amount of custom 'chrome'. We're very satisfied with it, and honestly except for the tremendous size of the thing, would not change much. |
| Wed 28 Aug | Chris Hoess | Well, personally I'm not unhappy with the UI in general, but I'm a sometime Linux user and a 'technocrat' and whatever else, so I'm not very sensitive to UI quality. One thing I do find annoying is the inability to delete bookmarks right in the menu; I have to go to 'Manage Bookmarks', open up a window, and find the bookmark again before I can delete it. Viewing frame and page source in context menus also seems to be handled badly; in a frame, people almost always want to see the frame source, but it's stuck off in a second-level menu. But, there's still a lot of people who feel that Mozilla isn't as 'polished' as IE, even post-1.0. (Unfortunately, I've mislaid the URL of the latest blog where I saw this.) For that matter, while mpt is occasionally flaky (endless complaints about tabbed browsing, which people seem to eat up, number 9 on his list of UI problems at http://mpt.phrasewise.com/stories/storyReader$35 , trying to impose Mac platform-specific oddities on everyone), I think his advice is often on-target, and not necessarily that difficult to implement. Having a solid organization and enforceable UI specs would, I think, make the UI a good deal 'crisper', if only because UI people's time wasn't taken up by feuding and justifying changes. I'm glad to hear at least one embedder likes us, though; when I'm feeling uncharitable, I'm occasionally inclined to believe that all embedders do is try to break down our standards support in the name of compatibility ;-) (But it's actually a developer from an embedder who's been responsible for a great deal of the performance increases in the past year, so I should be nice.) |
| Thu 29 Aug | Sammy | > What about if one person (or people at one location) > manage or have the final say on design - and people in > other locations do the back-end stuff To be on-topic for once in my life, I don't think it's easy for a team of coders to want to be at the mercy of some guru in a far-off world. Not a theoretical problem, but a practical one. I take it that your envisioned guru is someone who understands the domain-specific field, and also has a feel for what is practical to implement. I think that sometimes many developers are not bright or versatile enough to 'get it' when something is explained in email or over the phone. Oftentimes we need another human in front of us to take users' pain seriously and see through their eyes. That said, I'm a great fan of any form of dev that allows you to work with only the people you want. ;-) |
| Thu 29 Aug | Sammy | BTW, you probably want to ask people who haven't had their minds messed up with programming conventionally all the time. Sure, distributed programming doesn't have enough bandwidth to support developing in the old style. But you're talking to people who've lived their lives going to centralized schools and the like... No wonder that we're probably being very inefficient when working with geographically dispersed teams. |
| Thu 29 Aug | Nat Ersoz | Chris, Thanks again. I'll have to go check out the Mozilla web logs. What I think is funny is how once someone mentions a 'gripe' about a product it brings others to mind. 'Oh yeah, speaking of that, what about...' I'll save it for the web logs :) Thanks again. |
| What's your work efficiency? | Wed 21 Aug | Crimson |
| I guess this question is open for programmers and non-programmers alike, but Im especially interested in programmers responses because of the nature of the work. So how many hours on an average day do you actually spend working (coding, thinking about problems, designing, etc ) and how much time is spent doing more constructive things like reading joelonsoftware.com and espn.com? |
| Mon 26 Aug | chloraphil | >I found that most days I would max out at around 6 hours Say you're a manager, and you understand and accept this. (don't worry, i'm not a manager...) do you work this into your motivational strategy? ('come on guys, six hours!') would employees start working less productive days? basically, how should a manager accept/deal with this? |
| Mon 26 Aug | Kat | The Personal Software Process (www.awl.com/cseng/authors/humphrey/intropsp) is an exercise I had to do recently on time tracking. Im a student so dont have fixed hours, but thought I studied close to a work week.. it was actually about half that! (first 3 weeks of semester I averaged 18 hrs per week) Study = mix of reading, notetaking and programming and yes I stopped studying to read Joel.. :) |
| Wed 28 Aug | Crimson | chloraphil, I don't think you'd ever tell a manager that. And if he knew, he'd just accept it, but I don't think he'd use that as a motivational tool. Or at least, I don't think he'd plaster posters asking for '6 hours of work!' around the office... |
| Wed 28 Aug | Crimson | Gordon, Exactly. It's this tedious kind of stuff that, while important (well, sometimes it can be), is just mind numbing and your desire and creativity gets a little stiffled. How do you overcome this? |
| Thu 29 Aug | who me? | You're asking this question of a group of people that probably don't work that efficiently on average. Why else would we be reading and posting here? :) |
| CityDesk flash demo: lame? useful? boring? | Tue 20 Aug | Joel Spolsky |
| Since its my voice on the CityDesk flash demo, Im totally biased (to wit: I cant stand listening to my own voice). But I want to get as many unbiased opinions as possible about the flash demo. Is it useful? Does it look professional or just cheesy? Should we bother with these things in the future? Have you seen any online software demos elsewhere and did they help you understand the product? |
| Mon 26 Aug | Simon | In my opinion the voice recording is poor and distracting; not only the quality but also the delivery. Joel, if you are going to pitch it yourself get into a studio with a professional voice over coach. Expect to spend a good day at getting it right. If you cannot take a day to do it hire a pro. A few of the problems I had with the delivery: - Going down on the ends of sentences. If you want to engage interest the inflection should rise toward the end. -You were gasping for breath at times and sounded a bit panty. -Swallowing words |
| Tue 27 Aug | andrew | BTW, there's no need to preload the whole 1.5 demo at load time. You could probably preload less than 50% and get the thing underway sooner, then load the rest in the background during play. |
| Tue 27 Aug | Jozsef Toth | I missed one main area (being a user and knowing what CityDesk can do): a list of intense sites created by CityDesk. Although the demo states that even high-intensity editor rooms could be run on this piece of software, there is no example on it. The demo shows a straightforward web piece, without extras (which is good and gets us to the point). Adding this 'list' would probably convince people looking for a workhorse tool, too. A sentence on programming, stating that you can achieve a lot without it, but even more with it would also do (just like Word, btw). |
| Thu 29 Aug | Cameron Shaw | I'd love a pause button. |
| Changing font size.. | Mon 19 Aug | Søren E |
| I wholly agree with Jakob Jensen on the font-issue.. There is nothing worse than fixed-sized fonts. Especially if they are too small. But he is not correct in his argument that the font-size is difficult to change (at least not for a large amount of users). If you are in possesion of a wheel-mouse the font-size is easily changed by pressing CTRL and rolling the wheel. Presto.. :o) Oh... The save-fontsize-per-site-idea.. If only Microsoft would make such a feature.. :o) |
| Thu 29 Aug | Xxxxx Xxx | Shoudn't we respect the designer's creative freedom? They want the dot to be at that exact pixel and the 'Z' to be of that exact width. I mean the magazines and morning newspapers and textbooks does not have this 'Changing font size' feature anyway. If you don't like 'Saving Private Ryan', do you complain to Steven Spielberg that it is too violent? Or to George Lucas that 'The Empire Strikes Back' is too dark? That's their creative freedom and if you don't like, don't watch/read. |
| Postmortems | Tue 27 Aug | Sammy |
| I just found out that Gamasutra has game developer postmortems: http://www.gamasutra.com/php-bin/article_display.php?category=5 Humorously, the Unreal postmortem came to pretty much the same conclusion as Joel about distributed dev. (Coinidence? I think not.) In other programming industries, theres usually a level of fear in dissecting mistakes like this... leaving it up to even crueller pundits. |
| Tue 27 Aug | Nat Ersoz | Hey, That's not what the sight said. It said there were some difficulties with a 2 sited development, and there were merger problems among other things. But it also said that in the end, it was worth it, the game won awards, was a big hit in the market place, and shipped in 18 months - start to finish. Hardly a failure in any sense of the word. Based on this article, I would not be discouraged to take on distributed development. |
| Tue 27 Aug | Sammy | 'During Unreal, Epic team members flew to Canada to work at Digital Extremes' offices. With Unreal Tournament, it became Digital Extremes's turn to do the traveling. Unfortunately, flying and driving back and forth every couple of weeks is a very draining experience. Many of the Digital Extremes team members spent several weeks away from their wives and girlfriends. [snip..] Had the co-development happened between companies more closely situated, [the merger/morale] would not have been a problem.' In this case, they didn't even attempt true distributed dev, preferring to work in a tight local team when possible. And Joel didn't say distributed teams couldn't work, just that he desires the design quality of close teams. I suppose I was being glib though. It reminded me of my stint in gaming, where the SF company had a guy in Texas, and while he could develop remotely, we got him in whenever we could so he could take part in fun, fast design sessions. Shit, the site requires registration w/ a real email addy. |
| Tue 27 Aug | Virgin Poster | You may have to log in but the ubiquitous backdoor cipherpunk/cipherpunk works |
| Wed 28 Aug | Alberto | I think that distributed development can work well. Of course their can be problems, heck, software projects are full of problems. Its all about WHAT's distributed, not merely the fact that it IS distributed. Understanding this was the key to the success of the distributed developments that I have worked on. |
| Doubts on Web Services | Sun 25 Aug | Chris Woodruff |
| I read the current Robert X. Cringely essay http://www.pbs.org/cringely/pulpit/pulpit20020822.html and thought about this comment he wrote -- In this retail context, XML replaces an earlier standard called Electronic Data Interchange (EDI). EDI failed because it was too big and slow, requiring too much bandwidth. XML requires four times the bandwidth of EDI. What do you think is going to happen? Now you can say that there is currenly more bandwidth but we all know the law of computing -- Given more resources developers will use it all up. What do people think about the idea of web services as a whole failing? Will people use it if it becomes slow? |
| Mon 26 Aug | Matthew Lock | Paul Graham has a great article in defence of ASPs at http://www.paulgraham.com/road.html |
| Mon 26 Aug | Albert D. Kallal | Matthew, that is a superb link. I think it is a must read to all developers. Thank you very much! I must say, that Paul’s article (in the above link) opened up a long list as to why ASP’s are attractive. The “just good enough” argument he has is very compelling. It is late right now..but there are number of reasons why I think ASP's will not yet fly. I'll post my thoughts on this tomorrow. |
| Mon 26 Aug | Ian Stallings | Web services do not have to be sourced from an outside party. You could just as easily use them internally within your ogranization to centralize services. For instance, you could wrap one of your business rules, such as shipping, into a exposed web service then have all your internal applications consume that service. Since the standard is there you could consume it from a variety of platforms. This could be useful across large networks. |
| Mon 26 Aug | Doug Withau | My $0.02. The data does not live here will be a big hang up for almost every suit in the board room. They will say, 'We own the data, it is an asset and assets do not live in someone else's building'. What happens when the ASP goes belly up? How do you get your records? What about having the SEC or FBI looking at your records without your knowledge? I can not see anything other than Mom and Pop businesses using an ASP. The services would work for a store front or EBay sort of thing, but not for accounting or payroll. |
| Mon 26 Aug | ssh | Doug, I believe ASPs often sell the application at a higher price if customers want their own servers to carry the load. At least that's how it works at my company. |
| Mon 26 Aug | Doug Withau | Owning your servers is the solution. Once the 'customer' owns the servers the ASP model breaks. Many of the great advantages Paul boasted about are gone. Will your company allow the service proivder to update the system daily, track users, and keep the backup tapes? If the customer is running the server, it is just shrink wrapped software, same as everybody. Maybe they pay for a subscription, not a one time charge and upgrade fees. You can call it an ASP, but the advantages are lost. |
| Mon 26 Aug | Albert D. Kallal | I will only add, that this whole thing comes down to cost. If a ASP can deliver software with lower cost and hassles than what a company can run “in house”, then ASP's will win the day. I am a huge fan of thin client, and have stated so many times here. The question still begs, should my software run on my company server, or at some ASP? The idea of hosting your own web services (which most companies will have to do with .net) is course implied here. In other words, if I come up with a web based accounting package, there is no reason why I would not run it on my own server? A good many people in this thread rightly just pointed this out, and I also agree. Hosting your own web service again means the ASP is cut out. The other thing here is not to confuse connectivity with a ASP. Should I purchase Quicken Accounting that runs on my company server, or a version from a far away ASP? Heck, there is no reason why my personal version of Quicken on my desktop should not allow me to create a store front and expose it to the web? Again, the problem here is that more and more companies are going to run their own web server, not the other way around. If I can install quicken, and have it create a store front for me with a few clicks...I will. Millions of people were willing to share a folder from their computer and expose it to the web via Napster, or now Morphaus, WinMx or whatever the heck they use today. All I need is a connection to the web, and not necessary a ASP. Hence one must not confuse the issue of connectivity Vs a ASP. The big bonus of running Quicken (that has a built in store front) on my desktop is now my store front is integrated into my accounting package. This is real hard to do with a ASP. Further, my accounting data is on my own pc. Even more important is that the client database is also on my pc, and other applications can use this data. Web based email is great for email, but it does not integrate with other software packages. Word or excel does not integrate with web based email. Even a web based version of Excel would not work with a web based version of Email! Running Quicken on my desktop with a “web store” module is again going to be cheaper then the web based solution. I only have to pay for my internet connection (and boy is that a commonidfy or what!) Even more important is that I can integrate other custom applications into the accounting package. Integration will not work with a pure web based system right now (unless my SINGLE provider integrates everything for me, or all the providers allow applications to talk to each other...ya right.. fat chance!!). Remote desktop support and software that updates itself means that the cost, and ease of running a desktop computer is still dropping. Just about all new software from Morphous to the new version of office XP has some auto update, and the end user does not have to worry about or even care updating software anymore. (we don’t update software every year, we update it as patches and fixes become available). As mentioned, each company can still run their own web server for peanuts right now. At the end of the day, a easy to use, and reliable system will win the day. If the desktop pc was not cheap, and as reliable as it is, then we would all still be using dumb green screen terminals. The only reason why every windows desktop does not have web services built in is due to security concerns. Napster showed that people have little problem or concern of exposing part of their computer to the web. Also, don’t get me wrong. I am a very big believer in thin client. I also do belive in a market for ASP’s, but lets just not over hype it. Also, if you *CAN* get all your clients to use a web based applction, and make them pay for it..then it is no doublt the way to go!!. The only trick here will be getting people to go down that route! Perhaps the next version of City Desk will include a built-in web server? (Joel...are you reading this???) Would hot mail be as popular as it is if you had to pay to use it? Albert D. Kallal Edmonton, Alberta Canada Kallal@msn.com |
| Mon 26 Aug | Robin Debreuil | >> (unless my SINGLE provider integrates everything for me, or all the providers allow applications to talk to each other...ya right.. fat chance!!). Key point (among many great ones!). The whole soap idea is to make it easy for software services to talk to each other. But is the problem really technical? Is the word format too technical for people to understand, or is it proprietary for business reasons? What about AIM? Both of these are good for business, bad for customers. They are also at the top of their category. The problem with web services is they have to interoperate to be sucessful, and they won't. You can be sure that once your data is in AOL or MS's hands, you are their life long hostage - look at the trouble you had switching from AOL (email, adresses, webaddress', freinds etc), or office. So now I'm going to put all my data in their hands? No chance. I made a web service to obfuscate swf files a while back, just to try it out. The obfu code is protected on the server, its cross platform, and you can charge per use - which is all good. However everyone wants a desktop version. It also struck me, as I was adding features, if this was just a peice of a large interconnected program, how would new features be integrated with all the other clients? It is easy to say it would be modular enough that it wouldn't matter, but then are the services to supply thier own interfaces? If so, does every menu item bring up a different looking dialog? It is an interesting subject, but I don't think it will fly anytime soon... For example there isn't even a standard syntax for making UI's, nor standards for broadcasting changes, nor for payment, nor user info, or users wanting to switch services, or even standard privacy policies - worse, what if one comapnay goes out of business, or gets in legal trouble over their code? So how can we make standard programs that depend on each other without essentially being like a single company of 12 that talks to each other an awful lot. |
| Mon 26 Aug | ssh | The issue is not really of integration or these other things that Sun/Microsoft hawks. ASPs hide knowledge from the user. How many customers want to configure a server, or pay their ISP to run proprietary software they don't know how to admin? Sure, some may want to run it on their own servers. But that locks them into a support contract, for scalability tweaks or whatever. Perfect. Even if you didn't get all the advantages that Graham enumerates, these companies probably account for less than 1% of customers. People are willing to give up some control, if it helps them do their work. People don't trust their own Windows PCs for storing data. Information-hiding is a principle where desktop machines don't deliver that well. Everyone pays each other for abstracting away knowledge all the time. |
| Mon 26 Aug | X. J. Scott | Wow Albert! You make some really lucid points. Excellant analysis. -- I think the interest in web services mainly comes from the budding web service provider. This interest is made in the absence of a credible business case that takes into account whether the customer is being provided better quality or lower cost. The analysis goes as follows: 1. Hey, if we run our program off the web instead of off the client's computer we can force them to pay for it every month and ensure a steady source of income. The analysts like that. Also it gets rid of the pesky problem where the customers fail to upgrade. 2. Hoo boy, yeah -- and think of the issue of lock in! We will OWN the customer's data and if they stop paying us, they'll lose their data! They'll *have* to pay us forever then. We'll own them, they'll be our slaves! 3. Man, this is a great idea -- it will eliminate piracy because the customer will have no access to the actual app. Since there are 9 copies of pirated software for every licensed copy, our customer base will increase by 10 right there! 4. All right! Now you're talking! And check it out -- we no longer have to write a version for NT, one for 95, one for XP, one for 3.1, one for Mac, and three for Linux. We just write once and run anywhere through the web! 5. So we don't have to write it in C/C++ as a single executable. We can use perl for part of it, python for other parts, C, assembler, etc -- whatever works and we don't have to worry about the customer's RAM size or excessive hard disk space needed for giant run-time environments or any of that stuff. 6. Yeah and we'll run it all on one server computer with bare bones installation. No more conflicts with rogue DLLs! Wow this is great! Let's do it! But wait, we have to sell it to the customer how can we do that? 1. Tell him it's only $50/month instead of $800/seat. See, it's a cost savings! 2. Tell him he needs no more trouble and time spent installing software that comes with a poor installer and conflicts with other software. 3. Tell him it will run on any computer. 4. Tell him that when bugs are found he won't have to get an update, we'll fix them automatically and transparently. --- OK, so this is what I think is really going on in this scene. The service provider sees some really compelling reasons to push this scenario, and it does have some minor advantages, but they are not enough to fool the customer. However, exceptions exist. Plenty of businesses are running on yahoo and ebay and amazon selling herbs and junk and self-published books by paying the big company a cut of each sale. Also, ISPs will continue to fit the model of providing service since it is too much of a hassle to keep up with all the latest security problems. Better to hand that over to someone else for a minute monthly fee that is less than the cost of 1 hour's time of a competant system administrator. The thing about these services is they didn't exist at all before. Was there some way for a small craftswoman in Podunk to sell her goat-milk soap directly to soap enthusiasts in Santa Fe? Not easily, and yahooshops/ebay/amazon stores fit the bill. Notice that all these service providers are really providing the same service -- none of them are selling payroll services. |
| Tue 27 Aug | Rodger Donaldson | A point which people have made indirectly and should be emphasised: you may not trust your employees, but you should trust your business partners even less (and why should you trust their employees, anyway?). (Of course, the recent round of business scandals suggest that the employees who are least trustworthy are the ones making decisions about payroll, not the clerks doing the payroll runs themselves...) |
| Tue 27 Aug | Michel | Actually, you probably want to trust your employees less than your business partners. I've worked these jobs. People don't give a damn because they've never seen the owner, and even if you have, you still likely steal a bit. Even otherwise honorable people do this, for interesting reasons; perhaps they have an abusive spouse who has them steal large quantities of food or some supplies. Theft is really the default, not the exception, management or grunt. Theft is a cost of business. 5% (revenue? profit? I forget) is a large problem. 1% is grumbled about, but tolerable. It's higher in urban areas, but most often by those who feel more entitiled. So if I were to be un-PC, it's probably whites and wealthy non-minorities who do it more often, though poor minorities are more suspected. |
| Tue 27 Aug | Just me (Sir to you) | Let me get this straight: 1. A business should not trust its employees, but a business should trust its business partners, so it should outsource. 2. A business partner has employees it should not trust, but it trusts its business partners, so it should outsource the work outsourced outsourced to it. 3. goto 2 In this infinite outsoucing rig based on not trusting employees: - who the hell is finaly going to deliver anything? - who is going to pay the wages of the legions of middleman passing the buck? |
| Tue 27 Aug | Michel | You can trust your employees, that's why you accept a certain level of theft as a cost of business. Remember, I wrote, 'You probably want to trust your employees less than your business partners.' That doesn't sound like an ironclad rule, and it doesn't mean you should suddenly trust your partners with everything. Maybe my statements can be twisted into a klein bottle, but I stand by them. BTW, I meant 'whites and wealthy MINORITIES' in my last post. |
| Tue 27 Aug | Robin Debreuil | Maybe it goes like, if you lay of three people who were tracking your inventory and outsource it, that's three fewer people hauling shit out your back door. The number one source of theft, even in retail, is employees. They would be way better off putting the theft detection system on the back door rather than the front, imo. |
| Tue 27 Aug | trollbooth | Maybe they should just put up cameras in each cubicle. Maybe a new email and web filter is in order to see what these filth are doing on our valuable time. I say scan them when they come through the door and when they leave. Make them wear clear pants to we can see their pockets. I don't even think they should be allowed in the building. And that's just the employees! The customer should be treated like an enemy, never show weakness to him. If you catch him trying to get over on you make sure you cut off one of his arms. White and wealthy minority customers are not to be trusted! Watch them closely becuase your life may depend on it! You will not be able to see their eyes because of their sunglasses, but their knuckles will be white from inner tension and their pants will be crusted with semen from constantly jerking off when they can't find a rape victim. They will stagger and babble when questioned. They will not respect you. The customer fears nothing. |
| Wed 28 Aug | Michel | Um trollbooth, there are cameras everywhere. ;-) It's not bad or dirty, just a different culture. You should try these jobs for three months, esp fast food. Basically think of it as like slashdot at -1. Well, not quite that bad. > They will not respect you. The customer fears nothing. That's what I often thought... But remember who is giving whom the burger. Now I'll stop posting, I've rambled enough on this subject. |
| Wed 28 Aug | trollbooth | I know there are cameras everywhere! That's what I keep telling the chips in my fingertips. I whisper so 'they' wont see me talking to 'them'. I got a tinfoil hat to break up the signal though. I guess I didnt lay it on thick enough. My point - when you treat people like a commodity, whether they be employees or customers, don't be surprised when they despise you and treat you with equal disdain. |
| Training Cirricula | Wed 21 Aug | Matt H. |
| Say you are preparing a one-day seminar on a text-based programming language. C++, Perl, C, Java ... take your pick. How do you organize it / what do you teach / do you use power point? Right now, Im leaning toward a series of 8 Blocks (perhaps 4?) where I: - Explain the Concept - Create a demo app - Give an assignment out - Let the students code with my help. Moving forward from: - Scalars (Strings & Integers) - Vectors (Hashes and Arrays) - Control Structures (Looping) - Must Haves (Cool Libraries and tricks) - File Manipulation - Regular Expressions (OK, OK, its Perl) - Functions - ? Database Access? We keep going all day. If we run late, I cut the sections off the end. If we run early, I have a couplea extra sections prepared. At the end, students get a packet with details of the language. Audience is near-programmers (batch files, macro programs, simple awk apps, an understanding of looping, variables and functions) who want to move from my helping them to being truely self-sufficient. Comments? Other ideas? Things I forgot to mention? (How complex should my problems get? 10 LOC per problem? 20 to 50 LOC by the end of the day? Or would that take too long?) Does anyone have experience with this kind of corporate training? I couldnt find any good cirricula on google ... regards, |
| Wed 28 Aug | Christopher Wells | I haven't written curricula, but customize your examples to match the domain that the students are interested in. Prefer HTML to powerpoint. I like e.g. these online tutorials: http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/tutorials/online-tutorials.html http://www.cs.wustl.edu/~schmidt/PDF/OONP-tutorial4.pdf |
| Eclipse IDE - anyone? | Wed 21 Aug | Andrzej Kocon |
| Is anyone using the Eclipse IDE in a serious project? Is it mature enough to be used for the regular software development? Im particularly (but not only) interested in comments on this IDE running on the QNX 6.2 (aka Momentics) platform. http://www.eclipse.org |
| Wed 28 Aug | Andrzej Kocon | Thanks for the replies and links. (Special thanks to Greg for the last sentence). |
| Hiring Project Managers | Fri 16 Aug | Darren |
| Hi all, Ive hired several developers in the past, and Im quite comfortable doing so. Weve developed a number of standardized questions, and I feel that I have a good ability to judge a persons ability and skills based on their education, experience, and references. Were now looking to hire a Project Manager, which Im finding considerably more difficult. Weve made some hires in the past that havent worked out for one reason or another, and Im hoping to avoid it this time around. Ive worked with many excellent PMs over the years, and many that were lacking. All of them came from varied backgrounds, and I have yet to find any consistent details to base our criteria on. Does anyone have any tips for hiring PMs? Questions to ask? Any red flags that scream run away! |
| Wed 28 Aug | a | Hiring is like buying shoes. You only find out after a week or two if you made the right decision or not. |
| Do normal people use Lint? | Thu 08 Aug | Matt "Linty Coder" Sponer |
| Hi all, Were writing cell phone games in C++. The API is really buggy, the emulator is buggy, and every phone has different bugs. And to keep things interesting, you use a different compiler for the emulator than you do for the phones. So, were attacking this beast head on, assuming that nothing works, ever, and throwing every defensive coding trick at it that we know. In the last month Ive read a dozen books with titles like More Super Safe Exceptional C++ Idioms and Common Pitfalls.. A big part of the motivation is that we have to pay a couple thousand dollars to get the application QCd, and we have to keep paying that until the application passes. Today I played with PC-Lint. Im very happy, Ive learned more weird quirks in C++ than I have in the last month of reading books about weird quirks. Maybe because Im actually paying attention, since its in our codebase. However, almost all of the 2907 messages are nitpicky syntax things, not bugs. It wants me to put static in front of overloaded operator declarations. And cast 0 from int to long int when the function expects a long int. Cast function return values to void when they are thrown away. Put a little //lint comment when I dont want a no argument constructor for a class. A million little things like that. I fear this will turn into some weird kind of unproductive insanity. I could spend a week eliminating all the messages, cluttering up the code with //lint comments and redundant casts everywhere, and may not get any real value from it. Or, I could turn off almost all of the warnings and potentially lose a lot of the value of using this in the first place. So whats been peoples experience with these types of tools? In the end, are they worth it? Or are these tools mostly popular with folks that tend to procrastinate and fiddle a lot? |
| Wed 28 Aug | Andreas | I did not know lint before my current project where they use lint intensively. First I thought this is really a nice tool helping to get bugs fixed at compile time. I really love a coding style that I call 'compiler supported coding', concentrate on the main thing and then fixing things up with compiler aid, like if (... = ...), missing declarations, etc. I found out that this is really much faster then trying to do code mostly perfect in the first way. Okay, but back to lint. I used lint then and instead of getting any real bug fixed I got only annoying messages. And whats more I usually use compilers where I get all the important error messages so for what I need lint ? If I want these messages I compile with Intel Compiler and reed the remarks ... of course I don't read the remarks. I think today's compilers make lint superfluous. They only add work and take the focus away from the real tasks to perform. If you really want to use lint, then make a run per month and look if anything useful is inside. And back to my current project I work in as part of the so called 'stability task force', the design is a catastrophy. The code is not working, the code is about 10 times to complex, the project is delayed 3 years and wasted 100 millions Euro (I am from Germany), the code is slow and does not meet the requirements but the code is perfectly lint clean ! Any questions ? |
| C# & .net book recommendations | Tue 27 Aug | Andrew Simmons |
| Does anyone have any recommendations in this area? Im looking for something that doesnt have hundreds of pages of fluff and doesnt require me to take out a mortgage. Ideally something like K&R as regards covering the C# language itself, but with decent coverage of areas such as multhithreading, remoting, and network programming. |
| Tue 27 Aug | Just me (Sir to you) | I found http://www.oreilly.com/catalog/dotnetfrmess2/ to be a good general introduction to .NET . For C#, I had the first edition of http://www.oreilly.com/catalog/progcsharp2/ . This did the job, but not in a way that would make me wholehartedly recommend it. If you need to do a GUI, get http://www.microsoft.com/mspress/books/5188.asp . |
| Tue 27 Aug | IanRae | This was a good introduction to C# and the CLR (you need to understand both) Professional C# by Simon Robinson, Jay Glynn, and a bunch of others. Wrox Press. |
| Tue 27 Aug | Ian Stallings | I liked Eric Gunnerson's 'A Programmer's Introduction to C#', Apress Publishing. He is part of the C# team and can usually be found on www.devhood.com forums, www.gotdotnet.com forums, and ms .net newgroups such as microsoft.public.dotnet.languages.csharp. He has answered me directly and stays touch with developers. The book was clearly written, concise, and inexpensive. |
| Tue 27 Aug | Pierre | Get Troelsen's book, C# and the .NET Platform. Its an excellent book. One of the best. Up until I read that book, I could'nt figure out how to pass variables between forms. It did'nt hit me that I could just wrap my private form variables in public properties and expose them. Simple but highly effective. You should also get programming Windows 2000 with C#. |
| Tue 27 Aug | Vincent Marquez | I personally think that the dotNet SDK is a perfect starting point for programmers wanting to know about C#. I did buy an Oriely book, but I ended up using the SDK way more then the book. It has sample programs to play around with, a 'getting started' section to teach you the basics, a whole section on 'how to' with common tasks such as building web forms, windows, database interaction, etc. After that, I just started using the class library. (which has a decent ammount of sample code). |
| Tue 27 Aug | Andrew Simmons | Thanks for the replies. I like Vincent's suggestion the best, given that computer book prices in New Zealand seem to have gone through the roof of late. |
| What's your dream home development network? | Mon 26 Aug | Nick Hebb |
| Im finally getting around to networking my two home PCs, and it got me thinking - what would the dream home development network setup be? Just for fun, if you could set up an environment for playing around with whatever application development you wanted, what would it include? To make it a challenge, dream cheaply. |
| Mon 26 Aug | Darren Collins | I'd have my Windows desktop and Windows laptop networked to my old Linux box, running a Zope server. I'd also want a wireless network for the laptop. Internet connection would be shared through the Linux box. |
| Mon 26 Aug | Just me (Sir to you) | Cable or DSL modem to something like http://www.linksys.com/Products/product.asp?grid=23&prid=173 . Switch in basement, Cat6 cabling to crucial points in the house (home office, kids rooms, server location). Portables connect wireless throughout the house and grounds when not connected to the Cat6 (can Windows XP do this network changeover automagically?). Dedicated high-speed point-to-point connection to friend at the other side of the neigbourhood for peered offsite backups. |
| Mon 26 Aug | Ian Stallings | Since you said cheap I guess my 280 blade server rack idea is out of the question. Converting my ethernet/cat5 lan to wireless would be my next step. I'm in the process of adding a new SUSE box to house my cvs repository and wiki knowledge base, moving them from an old dual pentium that is at my partners house. I would love to have one machine dedicated to testing our software on different platforms/OSes also, maybe running VMware or something similiar. Adding dual monitors to my development platform would be a sweet addition. This week I will finally get my new machine up and running (cross fingers) after cracking my first chip with an obnoxiously large heatsink. Then it's on to my first water cooled setup on that same machine. |
| Mon 26 Aug | The voice of rationality | Question for Just Me: Why bother with Cat6 if you have wireless? Costs thousands of bucks to wire your walls, whereas the wireless is just about 50-100 bucks per machine. |
| Mon 26 Aug | Nat Ersoz | CAT-5 over Wireless? Security: http://airsnort.shmoo.com/ Nevertheless, I run WEP at home, and my development environment is a Dell laptop (running Linux of course). I'd really like a Sony some day, but this Dell has several years left on it. Several embedded targets taking up space in the den. |
| Tue 27 Aug | Rodger Donaldson | WEP? Bah. Worthless Encryption Protocol. Wireless is a neat idea, but if your neighbours have even half a clue, you'll likely end up uninentionally sharing your bandwidth (and possibly files) with them. Sticking to Cat5/5e/6 gives you more security, better performance. Of course, I admit that running it may be impractical in, say, brick houses or modern steel/concrete apartment buildings, but I live in a wooden frame house, so it's pretty easy. Anything that looks hairy I can get an electrician to run cheaply enough, and it will still cost less than muching about with much more expensive wireless equipment and be much easier to manage than loading up IPSEC on my clients to provide an adequate level of security. Plus you're going to want some cable in the house, anyway. Your connection to the rest of the world - cable, DSL, fibre WAN ( http://www.citylink.co.nz/ ), whatever - will most likely want ethernet. Network printers (free yourself from the tyranny of USB/Parallel!), cool consumer devices ( http://www.turtlebeach.com/site/products/audiotron/producthome.asp ), and so on. If you're going to want some, why not do the whole lot? |
| Tue 27 Aug | Andrew Simmons | I know I'm weird, but my dream home development setup is not to have one. When I get home, I like to interact with my family and slump down on the couch with a large gin and tonic. |
| Tue 27 Aug | Just me (Sir to you) | 'Why bother with Cat6 if you have wireless?' Wireless is just fine for browsing from the couch, but tasks that involve the transfer of larger amounts of data are better handeled by copper. I would not like to wait for the transfer of these large files over the IEEE 802.11b LAN when I am stationary at the desk. Furthermore, the Cat6 is far more reliable than the wireless, so I can grab that latest result set of the server in the morning no matter how much radio interferance there is from the roadworks in front of the house. |
| Tue 27 Aug | Richard Berg | What they said. Besides, since when does copper cost 'thousands of dollars?' It's about $0.12/ft here. |
| Tue 27 Aug | NathanJ | I have most everything I need on my home network. Seperate DSL router and wireless router. Wireless card in laptop for wandering around my house. Main 'server' running linux with an ssh port open for access from the internet. I have a webport open for transferring large files when I am away from home, but I try to keep the server stopped. For my 'cheap dream' network I'd probably want a little more security on the wireless end. Some network monitoring tools to measure traffic and maybe detect intrusions. Maybe a small computer up in the living room to play mp3's from my main computer. Actually, what I'd really like are large flatpanel monitors to place around the house in spots that I tend to use my laptop the most. |
| Tue 27 Aug | dm | I'm pretty happy w/ what I have now: 1. Cable modem 2. Netgear cable modem router/switch 3. LinkSys Wireless Access Point 4. Slow desktop machine hardwired for significant other's email and such; houses 12 gigs of mp3s and connected to stereo 5. 1 year old lappy for dev w/ 802.11b card; also has copy of mp3 collection for mobile listening pleasure 6. Occasionally I bring an 802.11b-enabled PDA home from work Dream additions to the network: 1. I have a DirecTiVo box which I'd like to hardwire to the network so I could archive recorded TV 2. I'd like to use one of those 802.11b-enabled PDAs as a browser-based remote control for an mp3 player running on the desktop machine, which is connected to the stereo (Speaking of which, I would need some way to run speakers all over the house.) 3. A second, wireless lappy would be nice for my significant other to use downstairs (aforementioned desktop is upstairs). She'll get my current lappy when I replace it. 4. Gah! Home automation.. I want my security system, answering machine, lights, music, tied together.. so when I come home and disable the alarm system and executes a script to turn on the lights, and start playing random songs from my mp3 collection (but not before playing back msgs on the answering machine) over the house-wide PA system... blah blah |
| How do you stick with a job you hate? | Wed 21 Aug | anon (for good reason) |
| I bet a lot of people here hate their jobs. You might like coding, but theres little bits of BS that just make your days unhappy. But you stick with it. How do you do this? My only solution is to become bad at the job I signed up for. Not idiotically bad, but I will just watch the occasional dvd, stare off into space, answer questions. Then once a week Ill get interested in the code and kick out something worthwhile. I dont even think my productivity will suffer. Perhaps it will increase. Ive paid pretty heavy dues, and after a couple years now, they simply cant fulfill simple, cost-free requests of mine. I know quitting is an option, but Im not considering that for the moment. |
| Tue 27 Aug | DB | 'if you can be creative in making other people suffer your day will be a little brighter' LOL. Reminds me of a book everybody should have... 'Bureaucrats and how to annoy them' by R.T.Fishall (aka Patrick Moore). The winding-up of another human being is a valuable stress relief technique. |
| A good project for intermediate (C++) programmers? | Tue 20 Aug | Warren Henning |
| Im pretty comfortable with C++. I would like to work on a non-trivial project that is useful but at the same time not beyond my abilities (I have no formal training in computer science). Im familiar with basic data structures, but no compilers, operating systems, etc. I could possibly work with a higher level language, but Id very strongly prefer to use C/C++. Ive been looking for interesting projects on the Internet, but they either have too much code (10 megs of source or something), too little documentation and too much code, or they are beyond my abilities (compilers, virtual machines, mini-operating systems, etc.) Im stuck. Anyone got any advice (besides learning more CS ASAP)? The more specific, the better. Thanks in advance. -Warren |
| Tue 27 Aug | dk | sourceforge.net ? |
| XML to ADO Conversion | Mon 26 Aug | Damian Harvey |
| Hi, Im not an ADO expert and I need some advice rather urgently concerning the transformation of an XML document into ADO. Do I have to specify the datatype and length of every field when converting the XML or can ADO handle this dynamically? Currently we are using XML templates with datatype and length defined to accomplish this but it is proving to laborious given the number of templates required. Note: The datatype and length is NOT being sent with the XML. Thanks in advance, Damian. |
| Mon 26 Aug | DevGrp | C# code DataSet ds = new DataSet(); ds.ReadXML(@'c:\filname.xml'); Once you read the XML into the dataset, the sky in the limit. Everything is taken care of. |
| Mon 26 Aug | Luke Duff | He said ADO not ADO.NET |
| Mon 26 Aug | Philip Dickerson | To put XML (in a string strXML) back into a recordset (in VB6 and ADO), use code similar to:
Dim oRS As ADODB.Recordset
Dim oStream As ADODB.Stream
Set oStream = New ADODB.Stream
Set oRS = New ADODB.Recordset
oStream.Open
oStream.WriteText strXML
oStream.Position = 0
oRS.Open oStream
'oRS is now a valid, disconnected recordset
This requires that strXML contains a structure that is understood by ADO as a recordset.
One way to get this structure is to save a recordset in XML format, as follows:
rsData.Save oStream, adPersistXML
strOriginalXML = oStream.ReadText(adReadAll)
If your XML document does not have datatype/schema information, you could create the complete XML recordset structure by converting a 1-row recordset to XML as above, and then replace the
' |
| What am I missing..? | Fri 23 Aug | the lonely programmer |
| What is the big deal with XML? XML seems to be the answer to any programming problem lately. What is XML to begin with? aint XML just a language that defines the syntactic rules for writing structured documents that respect some defined document type? Where does the power of XML come from? The answer for me is simple : standarization. Without standarization XML would be just another language for representing data. With everyone using XML for describing and exchanging data you have several benefits : First, you dont need to learn a new syntaxis each time you have to deal with new documents, and second, you dont need to write a lexer each time you want to extract the data from someones else formats, since several lexers are already written for XML. Or you can write your own lexer, the important thing is that you only have to write it once, and it will work on any document. I think thats it. Another benefit of XML is that it is legible for humans, so you can read it without problem, and edit it with any regular editor. That is indeed nice, but it renders XML unaceptable when you are exchanging large ammounts of data and good performance is a must. The problem is that general agreement nowdays is that you shouldnt care, after all XML is the language of the internet and that is all that matters. Any decent programmer can read the documentation for the several APIs that exist nowdays for manipulation XML documents, named DOM, SAX, or whatever you want. So why do we have a myriad of books like XML and C++ super-bible Master the internet with java and XML etc ? For me, the explanation is simple : marketing. Marketing makes people believe they need something, and spend money on it. Marketing can make you believe XML is good for everything and will fix all your programming problems, but it wont. The naked truth is that XML wont fix any technical problem you had without xml. So marketing has made everybody, and specially the management and the hordes of mediocre programmers, believe that XML must be used everywhere, because that is the right thing to do. Well, at least it is the cool thing, no doubt. But using XML for things like storing huge ammounts of data when you need performance is just a braindamage. We now have remote procedure calling using XML : there is SOAP and XML-RPC and maybe others I dont know. The problem is that we already had a nice standard protocol with Corba, more efficient by the way, since it wasnt text based. The argument for using XML rpc is that is simpler than Corba. So they show you an example where they simple open an http connection, pack a call on XML and unpack the answer. Then they compare it with Corba, and convince you that all those mysterious BOA adapters are there to make your life unhappy, and that generating stubs and skeletons is unnecesary, etc. In practice, if you look at any platform for doing distributed programming based on XML, youll see a lot of those features being incorporated, because they happen to be needed to make the RPC fit into the object model. Worse yet, they are not following any standard to incorporate them! didnt Corba have that? Excuse me, I need to jump out the window now. |
| Mon 26 Aug | James Ladd | XML has its place, but it isnt a 'silver-bullet'. We use it too much in places and I am trying to get 'them' to pull it back to just network boundaries. Sure hope the world learns its lesson fast. The XML Journal, now there is a mag built on hype !! Regs, |
| Mon 26 Aug | Dan Sickles | I use it. Other people I deal with use it. Having XML, DTD, XSD, DOM SAX, XSLT, XPATH on the resume is valuable. Whether it's 'good' or not? It's good for me. Not everyone is using it but, unless you're a stasist, what's more important is the growth rate. Reminds me of Shirky's 'half the world': http://shirky.com/writings/half_the_world.html |
| Mon 26 Aug | Gregg Tavares | I have to say I had a similar attitute to XML until yesterday. I was about to write yet another parse to parse a text file for a new program I was writing and I thought, 'hmmm, maybe if use XML I can get this parsed for me. I think I'll go check that out'. So, I found this site http://www.w3schools.com/xml/xml_whatis.asp and after reading that and this one http://www.w3schools.com/schema/default.asp I was convinced XML is a good thing. *) I no longer have to write a parser. *) with XML Schemas I also no longer have to validate much of the input *) As XML is a standard there are now product to visual design your XML formats http://www.xmlspy.com/products.html *) Both major browsers have XML format built in meaning you can have the browser load the file and access it through the DOM. Even without much code you can get it to do some pretty cool stuff. http://www.w3schools.com/xml/tryit.asp?filename=cd_navigate *) Since this is a standard, in that same vain there are probably already or soon will be tools for making XML content easily editable. Instead of having to custom code an interface for my data I could just use a custom form, no code, and one of those tools or libraries One other comment, although binary formats have their place, when possible I prefer text editor readable formats. This lets me easily check the contents of the file, generate the files and modify them (like search and replace 'd:\my folder\..' with '../otherfolder/..' etc). Things that would be harder if I was using a non text based format. |
| Return on Investment of Application Development | Fri 23 Aug | baruno |
| Hello, I want to know what methodology your company use for calculating return on investment of application development project, more specifically business application - not shrinkwrap or commercial application. Ill do research using google, but if you have any good advice or can point me to resource/site to download good ROI calculation tools please inform/e-mail me. |
| Mon 26 Aug | Nick Hebb | baruno, I don't think that ROI should be the only criteria to greenlight a project. I'm not against ROI calculations - they're a good objective measure, but sometimes getting the data needed to calculate the ROI can be a large project in of itself. This labor is pure waste if everyone agrees that the project makes good business sense but is compelled to provide a number. Look at the business. What are it's goals? How would the software help the organization achieve those goals? What the consequences of not developing the software? Write these things down to tell a simple 'story'. If the story makes sense, go forward with it. Sell the story to the decision makers who would need to sign off on the project. Do this whether an ROI number is required or not. If management understands and agrees with the logic of the story, they're much more likely to buy off on the project - even if the ROI figures are based on wild-ass-guesses. |
| Education | Thu 22 Aug | Yo |
| Sometimes, I think about the possibility of studying in some good foreign university. I can study here, in my own country, but it seems like a waste of time and money (first level tech careers here lasts about six years). Does anybody knows about prerequisites, costs, etc., to get a CS title? |
| Mon 26 Aug | Kat | I'm not sure how the rest of the world regards our degrees, but most Australian Universities offer 3 year degrees (with the option to do another year - honours - if you do well). eg Currently I'm doing a Bachelor or Science in Information Technology (www.curtin.edu.au) which is a 3 year course. I think its basically similar in structure to most degrees here. *grin* just out of interest, has anyone out there heard of Curtin? Hope this is of help.. |
| Server Operating System | Thu 22 Aug | Christopher Wells |
| Id like to run internet server application software on one or more machines dedicated to running that software. Some vague thoughts about the OS: * Should provide stated advantages over other OSes * Should let my application be sovereign (e.g. use the CPU efficiently, run in ring 0 on Intel) * Should be 32-bit at least * Should drive the following hardware: local disk[s] (not only NAS) with efficient file/disk drivers; network interface card[s]; 4 GB address RAM at least (not 16-bit); one and/more more than one CPU * Criteria: first, reliability (for 24-by-almost-7 service) and trustedness (e.g. no vulnerable daemons); second, pedal-to-the-metal performance (to handle as many transactions with as little hardware on as few application machines as possible); third, run on one or more than one type of off-the-shelf hardware (for example something Intel-like, or Sun), with available 32-bit device drivers for network and local disk - and run on telecom hardware e.g. as described in http://www.linuxjournal.com/bg/advice/telecom.php ; fourth, be affordable for development; fifth, be zero maintenance * OS services: start program on boot, owning all remaining RAM; access network and disk; access hardware (e.g. system clock); install interrupt handlers or DPCs (e.g. timer tick, and I/O completion); e.g. like DOS but 32 bit API to disk and to network; multithreading (cooperative realtime, or preemptive soft-realtime); file system (perhaps with a standard disk layout), whose API exposes asynch I/O ... and/or whose API is SQL; heap manager (not garbage-collecting) to support file and network drivers and thread manager; TCP/IP stack (sockets API) * Optional (not required) extras: built-in run-time monitor; http, ftp, telnet etc server daemons * A GUI is not required - the GUI-less server application responds to IP over the network * Do todays BIOS provide some of these OS-like services? For example my laptop can boot from CD. The above is not necessarily MS NT. A specific unix or embedded OS? Or run as a priviledged kernel device driver in a general-purpose OS such as NT, Linux, Solaris? What about a SQL DB on the local disk, memory-resident SQL, and up to 64-bit of RAM space, or just a client driver to a SQL DB running on a remote machine? Assume Im a programmer with server application software written in C/C++ currently processing gigabytes of data. Various results are returned searching 32+bit+bios+api from google. |
| Mon 26 Aug | Christopher Wells | Sir, > just out of curiosity. May we enquire what the application will be? I won't be specific - any of a range of applications, in general any network service: internet and telecom servers and gateways. There are many network applications beyond serving http and files - for example about 3000 registered and well known port numbers in http://www.faqs.org/rfcs/rfc1700.html each for a different protocol - and telecom protocols (wireless, etc) and gateways. > Since you frame your question in OS feature terms as opposed to application requirements, it does not give a clue as to what it might be. My NDA thanks me for that. Briefly, some applications: user and machine authentication; billing transactions (e.g. per-call); roaming, directory and routing; IVR; document and media stream processing. All of these applications have some requirements in common, as follows. Customer: First, the customer for network services (Voice over IP for example) can be anyone, who owns or uses a network. I restrict my question to customers who will dedicate one or more machine[s] to running the service - telecom carriers and ISPs and corporations. Sharing the machine with other tasks is not a requirement. Now the application requirements: 1) Reliable - if e.g. a network's authentication service goes down, then the network is down. For all applications, nothing is more important than the application running almost continuously: MTBF and MTTR (should run unattended for 24 hours for 7 days, and recover asap after an outage). 2) Scaleable - telecom carriers handle 1000s and 1000s of calls etc. That was it - there are only two application requirements. Re 'scaleable', it means three things: 1) Predictable on one machine when heavily loaded - The first face of scaleable is whether the application can 'scale' to the extent that it runs successfully on its own machine. The customer runs ever increasing traffic on one precious machine, and is reluctant to buy and administer a second machine until after the first is fully utilised. When the machine is running continuously at full utilization then it must schedule its tasks carefully - if the application has 30 thread classes servicing 7 types of client, then what Nat said about scheduling in LynxOS sounds like a welcome relief. It must also behave predictably when over-loaded: shed load, reroute traffic, queue jobs for later, or flow control (throttle) the traffic. 2) Distributable to run on more than one machine - You don't want to sell just one. There is more traffic than one machine can handle; you need different machines in different locations; the machines must intercommunicate and be administered centrally - these are axioms of network service applications. 3) Low cost of hardware per transaction - how much or preferably how little hardware does it take to handle a given traffic volume? This is so important: if you're going to deploy a new telecom application, by putting a dedicated server machine (cluster) in every city in a country, then it matters how much that machine costs. Similarly, when you dedicate any machine to one application. Hardware requirements: 1) Multiple CPU - some applications such as image, stream, and document processing are CPU-intensive, and therefore benefit from being run on multi-CPU machines. 2) Relatively slow CPU - when the customer buys rack-mounted systems at $?0K each they do not want to replace them one year later; 2 GHz may be this year's processor, but the expensive machines they bought two years ago are dual 600 Mhz. Also, perhaps low-power CPUs are slower, as are cheaper CPUs. 3) Local disk - at a minimum a local disk is needed for the application's output log files. It may be needed too for storing an application's documents and media files. 4) SQL - applications need at least structured input of their configuration data, by reading from SQL, XML, INI, REG, SNMP, NDS, LDAP ... Some applications also write structured output (e.g. database updates) as they run ... or, log files are written which are loaded into a database later. Prime directive: The need for CPU efficiency follows directly, from reliability (some of the protocols are real-time), and from hardware cost (scaleability). |
| Mon 26 Aug | Christopher Wells | People,
> It really sounds like you want a RTOS, not a traditional server OS.
Maybe, sometimes, may be. Most applications can run on Solaris or NT ... call setup protocols tolerate delays of a second or more. But these aren't light-weight OSes. A light-weight OS could improve the throughput. Many of the protocols are UDP-based. How are file systems on a RTOS?
> VxWorks, QnX, LynxOS
All these are listed as ACE platforms in http://www.cs.wustl.edu/~schmidt/ACE.FAQ.html#Q0b
> It would be a step up for Win2K to have a single invulnerable daemon
;-)
Perhaps there should be no other running daemon at all, competing for CPU: only the application itself and a built-in network monitor agent.
> I don't know of *any* OS that meets all the requirements he listed.
My listing 'asynchronous file API' as a requirement was speculative, possibly wrong; you people are saying to use POSIX all the way. Can anyone recommend where I can find more information, comparing OSes and about each OS?
> Why must your application run in ring 0?
It needn't, but it might as well. A protected system is of limited use when there's one application running and it's not allowed to crash anyway.
> Is it directly accessing hardware resources?
No; I'd be happy to use APIs to access hardware. I do like to be notified on I/O event completion though ... you can do that using sockets, but not (sfaik) using the POSIX file API.
> What you want is LynxOS.
That's a nice description you gave.
> Things such as the ring-0 requirement provide absolutely no performance benefit and will virtually guarantee that should something unexpected happen in your application (a disk write error, for example), your entire system will unrecoverably crash.
I don't want to write file system and disk device drivers. Also it takes extra oomph to lauch a separate task for each job, and to communicate between tasks, so an application tends to get coded as a single multi-threaded monolithic long-lived task anyway (and so perhaps doesn't need a multi-tasking OS).
> got the engineers up over the learning curve of the new OS
I've done software for proprietary telecom hardware, DOS, Win31, Win32, NLM, and Solaris. The less OS in the end, the better perhaps. |
| Mon 26 Aug | Nat Ersoz | Christopher, If you are dead set on kernel mode app, cross your heart & hope to die set on it, then VxWorks is what you want. 1. Its a well known entity in embedded space. 2. It was designed to be used this way - in fact it has no other way. 3. It is debuggable and profilable as a kernel mode app, whereas most other OS's are difficult to debug in kernel space. WindRiver has some pretty cool tools for profiling your application. I've been happy to move away from flat memory model OS's like VxWorks (OS/Open, pSOS, HeliOS). They offer no security for untrusted users and applications. You will have to write many things you commonly take for granted yourself - like a bootloader perhaps - depending on the hardware platform. |