Software ideas.. again.

Discussion in 'General Mac Discussion' started by mmmdreg, Sep 22, 2003.

  1. mmmdreg macrumors 65816

    mmmdreg

    Joined:
    Apr 14, 2002
    Location:
    Sydney, Australia
    #1
    It's that time of year again where I need an idea for my final year major project for Software Design at school. Please bathe me in your ideas. These have to be things that have "some" use. Targetting niche markets within the already small Mac market is not the idea. So.. think of something a collective bunch of people could and would use, not just yourself. And this is probably geared towards windows programming so keep the dock etc. out of it :p Thanx.
     
  2. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #2
    This is almost certainly not in scope but I'm sure a lot of people would be interested in an iChat AV client for Windows (i.e. an AIM client that can understand the video stream that iCaht AV uses).
     
  3. mmmdreg thread starter macrumors 65816

    mmmdreg

    Joined:
    Apr 14, 2002
    Location:
    Sydney, Australia
    #3
    Woah. One person among thousands has an idea. I'm impressed.
     
  4. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #4
    Had another idea :) This one is probably in scope and would be good fun (I think!).

    Why not make a program that allows music on non-mac boxes to appear in iTunes via Rendevous (spelling?). You could do it as a plugin for a music player (WinAmp say), or probably better as some sort of server. Basic idea is that on startup the server scans a directory for music files and reads the tags in them. It could also scan for .m3u (more or less standard playlist files) and use this data to provide info to iTunes as a remote library. Throw in a GUI for control and monitoring and you've got a project! If you do it in Java you have a cross platform project that would be cool.

    Throw in a simple client and you have a way of using the shared iTunes libraries on other platforms.
     
  5. mmmdreg thread starter macrumors 65816

    mmmdreg

    Joined:
    Apr 14, 2002
    Location:
    Sydney, Australia
    #5
    that's an idea. How long do you think that would take by your standards (I'm assuming you program because of your sig). How many lines of code as an estimate? Thanx a lot.
     
  6. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #6
    That's a very difficult question! If I assume Java (it makes networking very easy) then for the server part you need to do the following:

    1) Investigate and understand the Apple iTunes sharing protocol (I think this is mostly available on the web): say 2 days

    2) Write the code to parse a directory tree and get all the data into an efficient data structure (some sort of hash based tree would probably be a good idea). You will either have to write your own file parser to get the ID3 tag data. Writing your own parser: 5 days (with testing). Using an available parser more like 2-3 days.

    3) Write the networking stuff: I think you need to stream the mp3 (or aac) data so no decoding is required. Probably another 5 days to get it working well.

    4) Control GUI. Do you know swing? If so probably around 3 days, if not more like 7 (to do it well).

    5) Other stuff: go multi-threaded (pretty easy in Java) and client (need playback) would take a bit more work.

    So total around 20 days coding (multi-threaded server no client) with more time for documentation and planning.

    LOC: No idea. Lines Of Code is a really stupid measurment anyway!

    Edit: You also need to advertise on Rendevous. There were some really good articles about this on O'Reilly a while back. This is probably a 1-2 day job at worst.
     
  7. mmmdreg thread starter macrumors 65816

    mmmdreg

    Joined:
    Apr 14, 2002
    Location:
    Sydney, Australia
    #7
    is that 20 days full-time work? I'm a school student so full-time ain't exactly on.. is rendevous actually doable on PC's then? and does Real/Visual Basic have the capabilities of what you want?
     
  8. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #8
    I'll be honest. 20 days was probably talking it up a little as I (mistakenly) thought this was a University project! What is the project for?

    I think that you could do it in a lot less than 100 man hours. Rendevous is actually a pretty simple idea to implement on anything that has socket level network programming. I am not a fan (or a real user) of Visual Basic or Real Basic so I cannot really comment on how hard it would be to implement these things on them. I suggested Java for a number of reasons: It is multi-platform; It is widly used in industry; It is easy to learn; It is object-oriented (really not VB's terrible implementation); It's free (as in beer); It has great networking.

    If you need any more details, pointers or help drop me a line!

    Edit: Usefull links!

    Easy Java/Rendevous integration: http://www.macdevcenter.com/pub/a/mac/2003/07/29/jrendezvous.html
    daap (iTunes sharing) protocol documentation: http://tapjam.net/daap/draft.html
     
  9. mnkeybsness macrumors 68030

    mnkeybsness

    Joined:
    Jun 25, 2001
    Location:
    Moneyapolis, Minnesota
    #9
    if rendevous was not too difficult to port to windows, it would have already been done...go ahead and try, but i doubt one person alone would succeed...let alone do it in 20 days.

    how about some bowling alley/restaurant software that is very user expandable to allow multiple accounts and change the items that appear on it. i work in a bowling alley and we use something called Qubica. the Qubica company pretty much holds a monopoly on bowling alley software.
     
  10. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #10
    Implementing a Rendevous server on a non-Mac OS is, how can I put this, a piece of piss! You can either use the above Java code, use the open source Apple code, or even write your own. Rendevous is nothing more than an Apple implementation of the open standard ZeroConf networking standard. It is easy to understand and easy to write.

    As a case in point I did a little research and there is already a platform agnostic (i.e. targeted at Linux but runs on Windows or Mac OSX as well) program that does what I suggested with MP3s. So it is easy.
     
  11. mmmdreg thread starter macrumors 65816

    mmmdreg

    Joined:
    Apr 14, 2002
    Location:
    Sydney, Australia
    #11
    Tis for my year 12 major project for Software Design. It's probably a tad too much for me still. The teacher's under the impression I should do a physics/maths oriented program because I'm good at that but I wouldn't know where to start to be honest..
     
  12. robbieduncan Moderator emeritus

    robbieduncan

    Joined:
    Jul 24, 2002
    Location:
    London
    #12
    As a non-Australianwhat is year 12? i.e. how old are you when you are in year 12? I had to do a pretty major project when I was in 6th year at school (a bit of a misnamed year as it was actually my 13th year of school) which was at least this big but it did count for 50% of the marks of a whole year Certificate of Sicth Year Studies course (about the most difficult thing you can do in school in Scotland).

    If you want something maths oriented that looks pretty then a simple graphing calculator style thing might be possible. If you limit the scope to a few functions and 2d graphs say I think this would be acheivable in VB.

    Edit: Noted you are in Australia not America! Sorry!
     
  13. mmmdreg thread starter macrumors 65816

    mmmdreg

    Joined:
    Apr 14, 2002
    Location:
    Sydney, Australia
    #13
    Year 12 aka form 6 aka grade 12 aka last year of high school. Well.. the idea's that in Australia, the start of the school year is at the end of january with our summer holidays before that. Each year is 2 semester's of 2 terms each. However, the last two years are 7 terms all up, and so yr 11 (which I just got off) is 3 terms. So that's why I'm starting this at such a strange time in the year.

    Speaking of graphs, I was reading MacWorld and they had this review of some AU$500+ program that did charts like excel and it did 3d and all, like.. time/value/item kinda things. Would that be too hard? And that price was from memory but I'm pretty sure it wasn't cheap.
     
  14. benixau macrumors 65816

    benixau

    Joined:
    Oct 9, 2002
    Location:
    Sydney, Australia
    #14
    @mmmdreg:
    I am in yr 12 too. About to do my HSC in software. If you got to my website and check out Simple GST - you will have a high scoring (95% - no documentation) project that I submited.

    Here is something - whilst good my school had to take time to mark it as they only have one OSX 10.2.6 mac - my IPT teachers Pbook G3 400 u/g G4 400.

    Just make sure you implement the help system. Teachers generally like that.

    Also, make sure that there are no bugs - i mean it. Normally bott bugs are ok to people like us - but if your at a gov school then you are probably one of about, everyone else is the school who has a mac at home. Do not have any boot up crashes evident.

    Good luck and email me if you need anything else (bar my source :D)
     
  15. mmmdreg thread starter macrumors 65816

    mmmdreg

    Joined:
    Apr 14, 2002
    Location:
    Sydney, Australia
    #15
    What school do you go to? Hehe your post kinda lacked sense in some areas. I think I got the drift of it though.. I'm checking the site now.

    A friend at uni gave me this which is a list of projects.. The ones that caught my eye were the network traffic one and the PoS one right down the end. I don't think the traffic is doable in VB.. Maybe I'll just do a POS program.
     

Share This Page