CFDirectory speed issues OR how I learned to love native Java functions

This little issue has cropped up from time to time during development with myself and several of my co-workers and you may have encountered this as well. Over time an application which requires a list of files begins to slow down, and the more the application is used, the more it slows down.

[More]

No flash in Android 4.1? That's the word from Adobe.

Reposted from http://mashable.com/2012/06/29/flash-in-android-4-1/, it appears that flash support is being cut starting with Android 4.1.

This isn't too surprising with the way web browsers in general are moving towards HTML5, but it's important to consider in future development decisions.

Adobe even goes as far as recommending that you uninstall any implementations of flash on 4.1 devices.

-Jonny

Functional Specs for Programming Projects

Functional Specs / Requirements Document

Here are some highlights from Joel on Software's very good analysis of why Functional Specs should be written. The entire article is a very good read for programmers and managers alike!

What are functional specs?

A functional specification describes how a product will work entirely from the user's perspective. It doesn't care how the thing is implemented. It talks about features. It specifies screens, menus, dialogs, and so on.

A technical specification describes the internal implementation of the program. It talks about data structures, relational database models, choice of programming languages and tools, algorithms, etc.

When you design a product, inside and out, the most important thing is to nail down the user experience. What are the screens, how do they work, what do they do. Later, you worry about how to get from here to there. There's no use arguing about what programming language to use before you've decided what your product is going to do. In this series, I'm only talking about functional specifications.

Notable quotes from the article:

...Failing to write a functional spec is the single biggest unnecessary risk you take in a software project. It's as bad as setting off to cross the Mojave desert with just the clothes on your back, hoping to "wing it." Programmers and software engineers who dive into code without writing a spec tend to think they're cool gunslingers, shooting from the hip They're not. They are terribly unproductive. They write bad code and produce shoddy software, and they threaten their projects by taking giant risks which are completely uncalled for...

...When you design your product in a human language, it only takes a few minutes to try thinking about several possibilities, revising, and improving your design. Nobody feels bad when they delete a paragraph in a word processor. But when you design your product in a programming language, it takes weeks to do iterative designs. What's worse, a programmer who's just spend 2 weeks writing some code is going to be quite attached to that code, no matter how wrong it is...

...Another giant important reason to have a spec is that without a detailed spec, it's impossible to make a schedule. Not having a schedule is OK if it's your PhD and you plan to spend 14 years on the thing, or if you're a programmer working on the next Duke Nukem and we'll ship when we're good and ready. But for almost any kind of real business, you just have to know how long things are going to take, because developing a product costs money...

Click here for an example of a good functional spec:

Read the full article here: Painless Functional Specifications - Part 1: Why Bother?