About
This is the M Cubed Software weblog. To find out more about us head to our about page.
Search
Feed
Archives
- June 2010
- April 2010
- March 2010
- February 2010
- January 2010
- November 2009
- August 2009
- July 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
Development Experiment
Posted on 20/08/2007 at 05:04 PM in
Code Collector Pro 1.0 is out and doing well, Minim 1.1.3 has been released to fix some bugs and we have some other projects going on that we’re keeping under wraps for now. But I thought it would be interesting to try an experiment. For shareware, development processes are usually very secretive. Few people know about what goes on and while this can sometimes be an advantage, it can also be a disadvantage. There is all too often the misconception that programming is easy, that the amazing feature you thought of should “only take a few hours to implement”. Unfortunately development is a very rough and tumble ride, and what you set out to do might not be what you achieve. So I thought it would be nice to try a little experiment….
The Experiment
I’m starting development of Minim 1.2. I’m hoping to have the bulk of it done by mid september at the latest. But I thought I would have a change from the norm and be completely open about the development. Each week I’m going to post an update on the development process, with screenshots, mockups, ideas and general thoughts or problems I’ve had during that week. I’m also going to be completely open about what I’m planning on putting in to Minim 1.2. However, you must be aware that I work in a very fluid way. Some of the features planned for 1.2 were originally planned for 1.0 but pushed back. Some planned for 1.0 and 1.1 aren’t even going to get into 1.2. This fluid movement of features in the roadmap happens up until I tell myself that I have the first beta of a version ready, as such what I say is going into Minim 1.2 now may not be what is in the 1.2 that is released.
What is Minim 1.2?
So what is Minim 1.2 going to be? Well, it’s going to focus heavily on the file management and searching, which I have long thought of as the two weak spots of Minim. File Management is confusing:
- What goes in the audio tab and what goes in the media tab?
- Why can’t I drag files to and from Minim?
- Why can’t I see more information about files?
Well these are questions that even I have but unfortunately various problems have caused me to not fix them until now. The biggest problem is what to do with the audio tab and media tab. Audio files behave slightly differently to other files. But then, images behave differently to videos which behave differently to text files. Luckily when I was in iTunes the solution hit me in the face, and so here it is:
The new Minim 1.2 UI (mockup edition). Various things will change. I’m not 100% sure of the current groups and the icons were just quick things I made, but it gives the general idea of what you will get in Minim 1.2. There is also something else in that screenshot that is a change. Gone are the glossy bars of old and in our smoother bars which look less “in your face”, especially on Leopard. What about file information? Well each group will have it’s own set of columns and show information specific to that type of file. And of course this new system will finally have drag and drop.
The second thing is searching. Searching in Minim is unfortunately broken and in short… sucks. Searching in Minim 1.2 is going to be far more powerful. For one you will be able to search by anything visible to you in Minim. Want to see all songs that have a GarageBand file in the key of C? It will show you. We’re also going a bit retro and adding an iTunes 5-esque search bar. When you search this will slide down and show you how many matches are in song info, lyrics, collaborators or files and filter by them accordingly. One feature I’m also considering, but is one of the more likely features to be move to a later release is smart albums.
There are other some other improvements going in. Two of them will be the ability to create a new song from a GarageBand file and integration with WonderWarp’s SimpleChord. GarageBand ‘08 added some new stuff to it’s file format that will allow me to fill in a lot of data for users from a GarageBand file, though the feature can be scaled back for older versions of GarageBand. The integration with SimpleChord is simply because I wanted to have a chord progression/look-up feature in Minim, but it would have taken quite a while to code and would’ve been hard to successfully integrate. So why not work with an application that already does 90% of what I wanted and keeps a separate UI designed to work with chord progressions. You will be able to pull progressions in from SimpleChord to go into a song, and even make a new song from a chord progression (like with GarageBand files) or create a new progression from within Minim to edit in SimpleChord.
And one last feature that is in the iffy category with Smart Albums: Import/Export of songs. They will work like snippets in Code Collector Pro, where you can export a song into a single file to send to a friend who can import it back into Minim. These are at the bottom of my list simply because of the amount of other features that will be going in.
What does it all mean?
So… you may be asking, “Why is he doing this? Why is he showing me his plans?”. Well the hope is that it will give people an insight into the development process of at least one developer. Users will get an idea of how an application is developed and developers will see my processes in making an application, whether they agree with them or not. Lots of developers have different styles. Some meticulously plan everything before hand. What features go in, how they work, what they look like, how they will be tested. I’m a much more flexible sort of person who likes to focus on one task at a time. The first thing I’m working on is the file management, so I’m thinking about how that will work and what it will look like. I don’t really know what the UI for the GB import or SimpleChord integration will look like, because they’re further down the road. The advantage of being small is that you don’t need to plan as far ahead, because planning restricts flexibility and most things that are innovative or just “pretty cool” came about by chance, not by lots of planning.
Expect to see the first update on Friday.
(1) Comments
Comments
Very cool - will be fascinating to follow your progress.
