Announcement

Collapse
No announcement yet.

Some progress on the application...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Some progress on the application...

    After re-doing the installation with Mac mini, I have finally spent some time on the application. Since the attachments do not seem to be working here at the moment, I have made a simple page with few screenshots here:

    http://homepage.mac.com/jirka.jirout/tatra-soft/

    The main changes in the software are:
    - module can now activate sheets with generic dialogs, not just one view
    - improved support for spoken messages in the host application (queue)
    - semi-transparent pop-up messages (like the windows shown when adjusting sound volume or screen brightness in OS X)
    - modules can now be written using AppleScript with minimum ObjC code
    - actions (ie warning, SMS message etc.) can now be triggered by entering a pre-defined circle around a GPS position
    - data logs are now handled by the host application, not modules
    - changes in GUI (buttons arranged into a circle in some modules)
    - new module for access to online services (traffic info, webcams, weather)
    - new module to display status of the Airport or GPRS connection
    - new module for phone functionality of my GSM/GPS module
    - speedometer can now use GPS data as well as vehicle's own sensor data

  • #2
    Very Cool...
    ---
    Work in progress - 95% Complete

    MacMini 1.42GHz 1GB RAM - WiFi, Bluetooth
    NewerTech miniStack 160GB
    Xenarc 7" 700TSV

    GPS - Rayming TN-200 w/ Route 66
    XM PCR
    AM/FM Radio Shark
    CCar Front End
    Carnetix P1900
    Griffin AirClick Remote

    Comment


    • #3
      Very nice Jirka! I really like the traffic map and traffic cam fetures. I look forward to seeing more about it when you have time to share.
      Micco
      Project Status: Installed! (v1.0)
      Mac Mini (1.4ghz, 1G RAM, 80G HD)
      XENARC 7" (DigtalWheelz)
      Carnetix 1900 + P5V Powersupply
      AII-NIS HU Adapter
      iMic
      Belkin 7-port "Tetra" USB hub
      Front end...CCar right now.

      Comment


      • #4
        Very nice. Did you make the interface graphics yourself?

        Comment


        • #5
          Awesome... So when will this be available...

          ::JP
          1995 3000GT RED : MIAMI'S HOTTEST 3000GT
          V6King.com - 1st MAC MINI on a 3S

          Comment


          • #6
            This has been available for almost two years now, although without the recent improvements.

            The source for the latest version can be found here:

            http://homepage.mac.com/jirka.jirout...2005-07-24.tgz

            The app is written completely in Cocoa and should compile fine under XCode. You can play around with the resources, but do not change sizes of standard module views. Currently there is no real support for skins and appearance, but it should be possible to achieve this by sub-classing NSView and using your own class as the background for the modules (or the main window). An example can be seen in the "Temperature" module (class ThermoBackgroundView).

            The whole thing consists of the host application (folder MainApp) and plug-ins. For the plug-ins to work, they need to be located in the same folder as the application. The plug-ins are regular Cocoa bundles, that can use some services provided by the host application (such as displaying GUI - description in "Server.h"). The modules can communicate between themselves using notifications (ie. the GPS module sends a notification with position - any module that needs any of this info can subscribe to these notifications and when the data arrives, respond appropriately). One plug-in can both send and receive notifications.

            Please note that there are three kinds of modules/plug-ins
            1. Modules you can use right away (MP3 player, clock, stop watch, countdown...) or with easy modification (Online services)
            2. Modules you can use, but you have to write your own module to provide them with data using the host application's notification system (speedometer, distance counters, fuel counters)
            3. Modules that are probably worthless to you, because they are too tightly bound to the hardware I use. You can use them as starting point for your own modules (GB600Input, T613Input, Phone).

            Currently the app only runs in 800x600 resolution, but it is relatively easy to change this (as well as the number of module slots for example) by altering few things in the host application.

            Comment


            • #7
              Originally posted by Mahalis
              Very nice. Did you make the interface graphics yourself?
              Yes, i did. I am actually quite satisfied with the system menu icons, but not that much with the recent icons (cameras, traffic info...) Any help on that would be appreciated :-)

              Comment


              • #8
                I tried to compile on xcode but I can't get the plugins to run....

                ::JP
                1995 3000GT RED : MIAMI'S HOTTEST 3000GT
                V6King.com - 1st MAC MINI on a 3S

                Comment


                • #9
                  You need to compile the "Compass" target/plugin in the main app project. For historical reasons, the compass module is required and without it, the main app will get stuck and not load other modules. I know that placing this into the main project may be a bit confusing...

                  Comment


                  • #10
                    Jirka, you rock my man. Thanks for releasing the source for your app! As soon as I kick my son off the Mac I'll start messing around with it.

                    I particularly like the fact that it is module driven. It would be really nice if the community created a whole series of modules that interact with the base program.

                    I'm still learning Cocoa/Obj-C (being a recent PC convert). It reminds me of my Amiga days (where I learned to program) in some ways, so I think I'll pick it up okay. This will help a ton, however.
                    Micco
                    Project Status: Installed! (v1.0)
                    Mac Mini (1.4ghz, 1G RAM, 80G HD)
                    XENARC 7" (DigtalWheelz)
                    Carnetix 1900 + P5V Powersupply
                    AII-NIS HU Adapter
                    iMic
                    Belkin 7-port "Tetra" USB hub
                    Front end...CCar right now.

                    Comment


                    • #11
                      I'm really having trouble compiling... Would you be kind enought to compile a version for me? I realy would like to try the app out...

                      Thanks,
                      ::JP
                      1995 3000GT RED : MIAMI'S HOTTEST 3000GT
                      V6King.com - 1st MAC MINI on a 3S

                      Comment


                      • #12
                        Maybe a note on the controls - the application was designed around for PowerMate, 5-way hatch switch or similar device. These need to generate following keyboard codes:

                        Apple + 4: push + turn left
                        Apple + 5: long push
                        Apple + 6: push + turn right
                        Apple + 7: turn left
                        Apple + 8: push (click)
                        Apple + 9: turn right

                        When you play around with the app on the computer, you can control it by using these shortcuts. These shortucts are assigned to the menu items (see the NIB in main app project) and cause messages to be sent to the application that distributes them to view and other GUI elements. By default for example click action sent to the button causes it to imitate a mouse click (and invoke connected action), turn left and right cause previous/next control to be highlighted etc. If you use another input device, that has more input channels/switches, you can add more actions to the menu and application, using the current ones as an example.

                        Using categories, it is easy to make almost any NSControl aware of these actions and controllable by the simple input element such as PowerMate - a good example can be found in the Online Services module, where turn left and turn right are used to scroll thru the NSTableView with list of cameras/URLs. Another example is JJStepper - a mutant between NSStepper and NSTextField that allows setting numerical (but in principle also alphanumerical) values using a rotating knob.

                        I will try to make an overview of the notifications that presently exist - this is quite important to allow collaboration of modules from other people, which should otherwise be easy, because of the standard API. I already have a template for new module project, will post it probably tmorrow.

                        BTW: the MP3 player is a bit messy - it uses AppleScript to control iTunes and reading status and storing current position does not always work. I will hopefully get some time to clean it up during my holidays in few weeks...

                        P.S. any new ideas on what modules we could make?

                        Comment


                        • #13
                          Originally posted by Qbancash
                          I'm really having trouble compiling... Would you be kind enought to compile a version for me? I realy would like to try the app out...
                          A package of binaries is here:

                          http://homepage.mac.com/jirka.jirout...y-20050724.tgz

                          it contains the host app, system menu module (night view, launch defined movie player and nav application, sleep, turn off), clock, online services, countdown timer (multi-instance, go to Settings to create - Apple+S) and the required compass module (which does not do anything at the moment).

                          Comment


                          • #14
                            radioshark

                            Awesome !!

                            A module for radioshark would be neat....
                            http://www.griffintechnology.com/sof...adioshark.html

                            Thanks
                            __________
                            rgds, raceer

                            Comment


                            • #15
                              Jikra, I've managed to get it compiled and running, but I can only get the compass module loaded. Could you give us a primer on how/where it looks for modules? I've tried to find it in the source, but it's going to take a bit before I understand the architecture
                              Micco
                              Project Status: Installed! (v1.0)
                              Mac Mini (1.4ghz, 1G RAM, 80G HD)
                              XENARC 7" (DigtalWheelz)
                              Carnetix 1900 + P5V Powersupply
                              AII-NIS HU Adapter
                              iMic
                              Belkin 7-port "Tetra" USB hub
                              Front end...CCar right now.

                              Comment

                              Working...
                              X