Rozlog’s Top 10 Software Development predictions for 2009
10. RIA’s will show increased signs of weakness; as more and more client side technologies are employed to create Rich Internet Enabled applications that act like Windows applications when the Windows OS is right there to use with real applications. Users, Developers, and management might start to look at using the OS for was it was for… namely supporting applications and finally move away from all the 3rd party client side technologies and start building solid applications that use the Internet as a communication device. Real applications that use the Internet protocols but don’t need a browser? Get out… check out an article I wrote on RIEA (Rich Internet Enabled Applications) for more background information.
9. SSD will own 30% of the market; Just purchased a Terabyte of storage for $89 dollars, which is great. But SSD (Solid State Drives) are coming and I believe that in 2009 there will be a major shift towards these types of drives. They have some inherent advantages over standard hard drives; no moving parts, no heat, and extremely fast read times. SSD’s are still a little expensive, but as adoption and competition increases these will be the drives of the future.
8. Groovy will gain more followers; Want a elegant solution for Web applications with Java? Then check out Groovy… program in Java, simple deployment, nice design pattern. Groovy should be the standard for Java Web development.
7. Specialized chips (task oriented) will become standard on mother boards in an effort to move green. We are starting to see this trend with Graphics chips, where the manufacturer will put a light-weight graphics chip on the mother board and for normal use (email, browsing the web, etc) the on board graphics chip will be utilized. Then when the user wants to use PhotoShop or play the latest Game on the market, the real graphics boards kick in and do the work. Thus, when in general use the machine takes up much fewer resources and then on-demand can increase the resource consumption to fit the task at hand. This approach will be applied to other various other areas of the PC.
6. Agile, Spiral, XP, Waterfall are all the same; I know methodologies are sacred and not supporting one or the other can be bad and they feel much like a religion to me (for comparison check out the Programming Languages compared to religion article; here). But at the end of the day, no matter which approach you use for developing software it is imperative that every member of the team buys-into the approach. If everybody on the team believes and uses Waterfall for example, then the project will usually complete. Now, again that does not mean that the things about the waterfall approach is incorrect, it just means the team was able to follow a process to completion. I’m not bashing for support of any one software development methodology, I’m merely pointing out that to have success, everybody has to be onboard or they will all fail. I believe pick the best methodology for the application being created with the dependencies and constraints taken into account.
5. Specialized maintenance teams will be setup in the down economy; new development is being put on hold during the down economy so companies are now setting up “swat” like teams for doing specialized maintenance of applications. These teams are there to upgrade or update the existing application, so they are usually comprised of the top-talent because they use the latest approaches to squeeze RIO out of the existing application, thus saving companies big money.
4. Google’s Android not so much; Android has a lot of promise and it has some exciting technologies and approaches, but the Apple iPhone will continue to dominate in 2009. The initial phones based on Android are ok but they don’t currently meet the level of the iPhone, maybe next year.
3. It appears to be getting cloudier… The cloud is exciting, and adopting the use of the cloud will continue as more companies start using the cloud, and more companies put services to be consumed on the cloud. There are still issues around cloud computing but in this exciting hype phase of the technologies those issues look to be on the far distant horizon.
2. The browser war will not be settled; Internet Explorer, FireFox, Opera, and now Chrome. Who will win the hearts and minds of the internet users? Well it won’t be decided in this year. I love the improvements that Internet Explorer has added with version 7 and the preview of 8. However, for overall speed and functionality it is hard to beat either Firefox 3 or Opera 9. Both of these browsers do a great job and I usually pick one of them for my day to day browsing activities. The new dark horse is Google’s Chrome. While I do like it and some of it features, it is limited in features and it can be a resource hog if you browse like I do with many tabs open at one time. I will be excited to see where Chrome goes in the future, but for now I will stick with Firefox and Opera, then use IE when I have to. But, I will still continue to play with Chrome.
1. Microsoft Vista was a ploy to get everybody to buy Windows 7. Ok, here is my conspiracy theory of the year. I believe Microsoft wanted to introduce Vista with issues they knew most users would not like or want. I know this sound far-fetched, but go with me on this a little longer. What was the best Windows as far as sales was concerned, from a release standpoint? It was Windows 2000. Now over the past few years, Windows XP has caught up to Windows 2000 and surpassed it in the number of sales (due to the number of machines XP was installed on in OEM), but from an out-and-out purchase of an OS, Windows 2000 is the winner. What made Windows 2000 a must have upgrade? I know this goes back a while, but before Windows 2000, the biggest upgrade was Windows 98, and before that Windows 95. Does anybody remember how bad Windows ME (Millennium Edition) was? This version of Windows was despised by almost everybody and even made the list of The 25 Worst Tech Products of All Time back in 2006. (Link to Article) It also introduced features that would someday become staples of users like System Restore, Automatic Updates, new version of IE to better support HTML and Media player that included other media types, but the product was extremely buggy and had problems working with existing hardware and software. This paved the way for Windows 2000 sales. The negative press on Win Me and the lack of adoption moved the Windows user community to purchase, upgrade, install and generally get their hands on Windows 2000. Isn’t it odd that Vista introduced various features that someday may be an OS staple, has hardware and software issues, and is generally despised by all? Does this mean that Windows 7 (or whatever they name it by the time it comes out) will be the biggest Windows release ever? The Windows community is definitely ready for a new OS and with Vista softening them up with countless issues, Windows 7 will be a HUGE, must have, need to buy a new computer to get the OS type of release.



There is one major difference between desktop application and RIA. RIA runs in a browser meaning it can be deployed essentially without installation other than the runtime. This makes all the difference.
One of the major benefits of Delphi was always that it could be deployed without dependencies, ie just install the EXE. The problem is now that the EXE is the dependency. A better way is if even the EXE doesn’t need to be installed.
January 5th, 2009 at 5:09 amI think part of the point that Michael wants to make is that more and more RIA applications require more than just a browser: not only client side technologies like AJAX and heavy JavaScript libraries are needed, but also plugins like Flash, Silverlight and others are becoming more and more a requirement and the combinations of those client side technologies and plugins not only make user installations more complex, they also potentially bite each other and decrease the overal stability of their systems.
Just a tiny example: for Flickr there are numerous batch uploading tools available, but only two of them are stable: the old fashioned HTML uploader, and the .NET uploader. All of the crossplatform uploading tools I tried (including both Java and AJAX clients) have stability issues (often already with less than a dozen media uploads in a batch).
Regards,
–jeroen
January 6th, 2009 at 4:14 amHi Michael:
Were did you get your ‘Terabyte’ of SSD for $89!
I’m posponing my new PC’s just to see if I can get a decent SSD por reasonably price.
Saludos
January 6th, 2009 at 8:40 amSebastian
Jeroen is exactly correct, the more we try to mimic the underlying OS and from an historic perspective the use of client-slide api(s) have failed. That does not mean that Web 2.0 approaches are bad or wrong, but they are not the only answer. Again, I’m trying to push the best technology for the job, if that means a combination of AJAX, Flex, Silverlight, and using Adobe AIR that is great… but most of the services that are used in those client-side technologies or approaches are available natively from the OS.
Also, sorry Sebastian, I got a standard 1 terabyte external hard drive for $89 not an SSD driver for that. But as the standard hard drive storage continues to drop and capacity continues to increase this will put more pressure on the SSD options to compete. I believe a lot of ground will be made in 2009 and the prices will be more inline with standard storage hard drives.
Mike
January 6th, 2009 at 6:43 pmHi Mikey,
Very interesting reading:-)
-> On the Android side have a look at http://venturebeat.com/2009/01/01/android-netbooks-on-their-way-likely-by-2010/ where they successfully recompiled it on Linux running on Asus netbook EEEPC 1000H. I do not think iPhone operating system will ever move to this space.
-> Google Chrome uses a separate OS process for every tab, so if you see a tab eating up resources it is easy to regain them by just closing this very tab.
Looking forward to see you in SF next week:-)
January 8th, 2009 at 12:18 amPawel
You talked about "Agile, Spiral, XP, Waterfall are all the same".
Im the end of the day those teams will value different things. This the bottom line. It is not just about buying an approach to follow. The team formation process, principles and values are different. Very different.
If you focus on ROI and short delivery cycles with quality present all the time, focused on tests and customer acceptance criteria, if you value this, you will deliver a different software compared to a process where I send you a plan to follow and features to be delivered on a specific time frame. Your behavior will be different, your metrics will be different.
The thing is that when you work driven by value, your delivery process will be different than if you were driven by a plan.
You have a tool to work in a value driven process,
April 23rd, 2009 at 9:16 amhttp://qc.embarcadero.com
where you can check what the community is asking (we vote for) and you can answer by adding those features in a next version of the product.
Daniel,
I don’t disagree one bit!
mike
June 1st, 2009 at 8:10 am[...] Just a quick review from last year’s predictions can be found here: Last Years Predictions [...]
January 1st, 2010 at 5:21 am