Tagged as Lists, Open Source
Written on 2007-06-09 18:55:00
This is a list of ten types of software in particular that I'm fired up about in no particular order. Software is kind of tough. I'm probably more interested in trends than software (and it feels kind of horrible typing that). Maybe a better way of saying that is if this were a top 10 list of things happening in computing I'd find it much easier to populate though of course I'd be drawing on a larger set of source material as well. That said, most of these will be open source because of my own biases but a few other things will poke out as well.
1. User Interface overhauls
I've always been interested in this kind of work. Think about it. Here you have an established paradigm of a file browser, desktop, icons, etc. It's been fundamentally unaltered since it emerged from Xerox PARC in the 70s. It is definitely not the most intuitive possible way to use a computer. It just isn't. It's the establishment so everyone finds it easy due to familiarity but they don't realize it. The very idea that it could be different is sort of invisible. There are two fundamentally different approaches to this problem. People who are extending the limits of the traditional UI through making it 3D or composited. That's mainly compiz
. Then there are people who are just rethinking the whole interface on a much deeper level, making it a representation of real world objects or trying to eliminate the distinction between local data and web data. I'm speaking of bumptop
, Jeff Han's work
as being representative of real world environments and SymphonyOS
's Mezzo Desktop
as being representative of eliminating the Web\Local distinction.
2. File System overhauls
This is another thing that is pretty immediately apparent as an entrenched paradigm waiting to be rethought. A lot of work in this sense is underway with projects like tracker
, and spotlight
working on "desktop search" (such a terrible name), and projects like the Gnome-VFS
trying to make filesystems user-centric. Then you've got people that are working on new filesystems altogether which is also crucial. ZFS
seems like a stand out to me (maybe this is because Apple is using it to power Time Machine) but you never know how things like ChunkFS
, and others might turn out.
3. Generative\Procedural Content-driven Apps
Here I'm thinking primarily of demoscene
, and Spore
. I don't think procedurally generated content
is ready to storm the industry necessarily but it does seem so ripe for experimentation in many software markets that you wonder why the demoscene guys are still just hacking away on virtual laser shows. It's pretty powerful stuff if you can just think of a good way to apply it.
4. Driver Improvements
This is basically both open source specific and more or less specific to the graphics and wireless subsets of drivers. I think it's important that Linux (or any OS for that matter) have an excellent underlying system for graphics. Part of that is drivers and part of that is the server and the OpenGL implementation. Drivers for most hardware 3D accelerators (from ATI and Nvidia) are A) proprietary, not open source and B) not that great anyway. So, it seems imperative that we get Graphics vendors to open source their drivers or just make open source drivers ourselves. As an ATI R300-based product owner I'm pretty interested in that driver
. Advancements in the server and OpenGL implementation are crucial too though, so I'm excited by work on X.org
and if the work on all those projects stays on track with the roadmap it should be competitive with if not superior to anything Mac or Windows has to offer by Christmas.
5. Impressive Virtualization
This is one of those technologies that isn't a panacea to very deep-seated problems but certainly is a painkiller and just sort of inherently useful. The main contenders are VMware
, and Virtualbox
in the PC space with only VMware Fusion
looking really ground breaking at this point. Fusion is only for Mac but expect the next version of Workstation to absolutely rock. PCSX2
on the other hand shows that even Console virtualization (yes, most call it emulation) is all too possible even with complex next generation platforms.
6. Impressive EmulationWine
are exciting projects to keep an eye on. Wine seeks to create an open source implementation of the Windows API so that users can run Windows binaries on Linux with full compatibility. ReactOS seeks to actually create an Open Source Operating System that is fully binary and device driver compatible with Windows. It is hard to say who has taken on the bolder task but it is apparent that Wine has a larger developer base and that can make progress appear more rapid. Both show promise for eventually getting high enough API compatibility that Windows becomes unnecessary in all but the most extreme cases.
7. Good Frameworks\Libraries\whatever_you_want_to_call_them
When I say good frameworks I'm talking about things like Telepathy
. Telepathy is a framework for both presence information (Is this person online?Do they have their phone? How can you best contact them?) and IM and Chat networks and it can be used to create any number of clients, such as Empathy. Gstreamer is a media framework and can allow for tongs of applications to draw on it for media playback, recording, etc. D-Bus and Hal both offer numerous possibilities of their own at a slightly lower system level, GTK and QT are windowing toolkits and clutter and pigment are both rich user interface toolkits that take advantage of OpenGL but the overall win with all of these technologies is that a central library exists to reduce duplication of code. The more time developers spend not recreating the wheel , the better.
7. Web Integration
Clearly more and more of our data and applications are moving online. Hypothetically, the operating system that helps us most transparently leverage the increasingly hybrid nature of our online/offline workflows will have a leg up on the competition in working with these trends instead of against them. Two projects which are particularly promising on this front are Big Board
. Telepathy is to some extent valid here too. Big Board seeks to integrate online services into the desktop as a connected panel through the online mugshot
service. Gimmie is similarly a panel which seeks to integrate online functionality chiefly through utilizing the telepathy libraries to provide presence information about your contacts.
8. Content Creation Apps
This is an area where Linux has been considered by many to be lagging behind due to the major proprietary software in the field (Final Cut Pro, Adobe Products especially Photoshop, Some CAD software, Audio production software, etc.) being unavailable though 3D rendering and modeling seems to be an exception. Open Source alternatives are emerging however to Digital Audio Production in software like Jokosher
and of course software like GIMP
continues to compete with photoshop. Inkscape
is available for vector graphics, Blender
for 3D work, OpenOffice
as replacement Office Suite and Publishing Software. Kino
, and Cinelerra
exist now for video editing.
9. Consumer Media Apps
A lack of high-quality media playback and management apps has been a conspicuous lacking on Linux in the past. Now, we are seeing applications like F-Spot
emerge for Photo Management, Songbird
as a replacement Music Library, Store, and Player, and programs like Elisa
, and njpatel's forthcoming Arena
emerge as replacements for HTPC applications like Apple's Front Row. Finally, ripping and burning applications like GnomeBaker
, and Sound Juicer
have also emerged to fill remaining gaps.
10. Web Apps
These are outright online applications or services that show promise for making good use of our data and uniquely taking advantage of peer production or the "social web". This includes applications like photosynth
, google apps
, and Zoho apps