SourceAFIS 1.7 is now available for download. This is a cleanup release focused on upgrades of the underlying components. There’s no change to functionality. SourceAFIS port for .NET Compact Framework (i.e. Windows Phone 7) has been dropped since .NET CF is now obsolete. SourceAFIS has got a WordPress powered website that replaces the old wiki as the primary content publishing system. IdeaTorrent has been replaced by a Trello board for the purpose of planning. SourceAFIS project on SourceForge was upgraded to SF Allura platform as per SoureForge recommendation. I am sticking with .NET 4 in this release, but it is likely that upgrade to .NET 4.5 and VS2012 will come in the next two releases. This post will elaborate on the reasons behind my recent decisions and I will also sketch some future directions for SourceAFIS development.
As you might have noticed, SourceForge is developing new Allura platform and encourages all hosted projects to upgrade since their old hosting platform is receiving less and less maintenance. I’ve upgraded SourceAFIS project to Allura, but I am not happy with the result. As of now, I am still having a hard time with the new forums. Posts seem to disappear. I’ve created a ticket for this problem on SF site support system. I’ve killed two forums in favor of the Open Discussion forum in order to reduce confusion and focus discussion in one place. Project pages are a mix of components from the old and new SF platform with the resulting UI looking very schizophrenic. I think SF is trying to do too much instead of leveraging external tools. They did well to ditch their hosted apps offering. It’s much easier for them to just provide generic web servers. Opensourcing their platform is also a good idea since it allows them to (ideally) just review patches instead of processing raw bug reports. But they are still overloaded. You might have noticed that I am a big fan of quality over quantity. SF’s approach of trying to do everything without excelling in anything just isn’t my taste. I think SF future is uncertain at best and SourceAFIS cannot rely on the service anymore. SourceAFIS will benefit from sourcing some of its hosting needs from other providers.
Since SF upgrade involves discontinuation of SF hosted apps offering, I had to find alternatives for MediaWiki and IdeaTorrent. Allura platform includes its own wiki, but I was dissatisfied with the whole concept of the wiki in the first place. I have decided to go for WordPress instead. I really don’t like WordPress, but I figured WordPress is the lesser evil in this case. It’s flexible enough to support all my publishing needs. It looks pretty and professional. And the content is not tied to a particular provider. IdeaTorrent wasn’t a good idea in the first place. It is designed to support wide community participation, which works only for big projects with 1M+ downloads. SourceAFIS is too small for IdeaTorrent. Since IdeaTorrent was really my TODO list, I’ve looked around for a better TODO list. Simple text file works well, but it cannot be shared with others. SourceAFIS Trello board (discontinued) turned out to be a great TODO list with sharing functionality. It’s pretty and easy to use as an added bonus. You might have noticed that both of these new tools are quite unfriendly to contributors. I figured I am the only content contributor anyway and it doesn’t make sense to optimize for ease of contribution in the case of SourceAFIS. I have optimized for my productivity and for quality of the result instead. WordPress is still hosted on SourceForge web servers though. SF servers are unreliable and slow. I am likely to continue migration away from SF by moving the website to my own VPS server.
Microsoft has released VS2012 and .NET 4.5. I am not upgrading. System requirements for VS2012 state Windows 7 for desktop development and Windows 8 for Metro development. I am stuck with Vista for now. I am however likely to upgrade my Windows in the next 12 months. Once that’s done, I will be moving SourceAFIS up the upgrade chain too. Looking at the whole Windows 8 concept, I have to conclude that Microsoft is obviously eager to obsolete its old platforms. It’s no surprise though. Microsoft’s business has always been in obsoleting old versions of its own products. Windows 8, besides other things, also kills Windows Mobile 7 with its .NET Compact Framework 4. I’ve removed mobile build of SourceAFIS from current release for this reason. .NET CF is dead. There’s no continuation for it.
After all this trouble, I am quite sick of upgrades. I will dedicate winter release to some real development. I hope to work on the multi-speed matching, which could deliver higher accuracy and higher speed simultaneously. I want to stay focused on making SourceAFIS a great fingerprint recognition engine. That means improvements to accuracy and speed while maintaining perfect reliability. I will be smoothing out the overall user experience along the way, but it’s not my primary goal. I will refrain from adding features. Excessive features kill great products by sacrificing quality of core features. If I happen to add any new features, they will be biometric ones like fingerprint quality or segmentation algorithms. But before I do that, I will make sure that SourceAFIS maxes out speed and accuracy limits. I am looking forward to multi-speed algorithm for better speed and to ridge matching for better accuracy. Bharavi Gade continues to work on the Java port. I think I don’t need to interfere. People ask a lot about the Java port, but it’s easy to workaround it by running .NET code in a separate process or on a server. Many people have asked for internal documentation for SourceAFIS. I don’t think this is a good idea. Research papers and books on fingerprint recognition should be used to learn about the field. SourceAFIS is not a research project. It is an implementation of many well-known techniques. There’s no point in duplicating the knowledge on this blog or anywhere else. Judging by the effect of screenshots on download statistics, there seems to be a sizable group of users who appreciate GUIs for end users. I will definitely improve the overall UX, but my focus is on core biometric performance. That’s the hard part I can contribute. It’s trivial for others to create pretty applications around the core library. I hope you understand my decisions.