Hello folks,
I'm just thinking aloud here but assuming TD+ is dead at the end of this month then how hard would it really be to write a freeware alternative which could use the existing skins (a TD+ compatible plugin) etc.
Now I have never programmed any PPC software and have only dabbled at Windows programming in general. However I am a software engineer by trade working mainly in C++/X-Motif on Unix platforms. Now I am assuming that PPC programming is probably similar to or easier than programming Windows apps using VC++.
The PPC APIs are publicly available at MSDN so in terms of extracting items such as POOM data its just a case of finding out how. The areas which I suspect would prove the most difficult would be extracting the weather information from the web and parsing the RSS feeds and I expect there is code out there which could help with doing both of these.
The main obstacle would probably therefore be time. When I wrote a small windows utility to help customise one of my favourite games, the basic research into areas which I knew nothing about at the time took about a week of evenings after work and writing the program took about three working weeks of evenings to complete. However by the time I finished a couple of months or so had passed due to other obligations and my general inclination to come home and write a program after doing it all day at work. Of course because I decided to release it I then had to provide documentation and tidy up certain aspects of the interface which I wouldn't have bothered with if I was the only user which added and extra few days.
The other factor is support, after I released my utility a bug was soon found which meant that I now had to fix it, which took more time and at this point it was no longer fun and soon after that was released someone requested expanding its scope which I declined to do. Therefore if a freeware version were released it would probably best to go down the GNU route so that the developers were not suddenly being barraged for demands for features etc. and fixes to a point where they decided they had had enough.
So I assume that I am not the only programmer on this site, so do people think this is feasible, would one person want to do it or perhaps a group could get together, once a basic structure and interfaces were decided it should be possible in theory to develop various aspects of the program relatively independently and then just intregrate the various classes at certain points.
As I said I am just thinking aloud, and am not volunteering to undertake such a task. However I started using TD+ a couple of weeks after buying my PDA and so have not spent that much time using my previous plugins
and would miss some features such as the weather and RSS feeds now whilst I may have found possible replacements for the functionality I will miss the flexibility of TD+ even though there are some features I never use which started me considering the possibilities.
Morpheus
I may have an interest in collaborating on a TodayPlus freeware replacement. I have C/C++ skills but very limited exporsure to VC++ and PPC programming (all myWindows programming experience has been with Visual Basic, but I do have experience with accessing/using the Windows API). I, like Morpheus have limited free time to devote to the project, and can sometimes find it difficult to write code in my free time when I do it all day at work, but I am willing to try.
I think if we can get enough people together (LordTwisted might be interested), then we can create a list of tasks and divy up the work, and possibly get an application out in a timely manner. You would not necessarily have to write any code to contribute; just providing snippets of code or providing information to complete a task would be helpful. One other advantage of having multiple people involved in writing the source code is that if one person is no longer available, the development does not necessarly cease, or the application die, as unfortunately may have happened here. I have never worked on a GNU project before so I do not know the best way to go about setting this up.
I see the goal for this project would be to provide most if not all of the existing features of TodayPlus, including the scripting/skinning feature. The one design change I would like to see involves the skinning language. I think where possible, values should be accessible via a calcvar like command, with general text and image commands used for displaying all output. I think most of the work will involve:
1. Creating a library of functions to get and return the necessary information (i.e. battary status, weather info, rss feed info, poom, etc.) that could be used by the calcvar command (which I believe some of this information is freely available).
2. Creating the display functions (i.e. image, text etc)
3. Creating the logic to process the skin file and underlying code to support each skin command.
Anyone interested in possibly undertaking some of these programming and designs tasks might want to post a message here. I will probably pursue writing a replacement program on my own if need be, but without a dedicated group to work with, don't expect anything anytime soon.
I am in, but no programing skills.
TransFXB
No programming experience but like I'd said b4 if it continues to be freeware count me in.
We seem to have two converging threads
http://www.dark-mojo.com/todayplus/viewtopic.php?p=8441#8441
I would be delighted to see this happen, and will beta test anything that emerges. Also, I'd be happy to help write a reference guide (fishboy did this for TP, but if he's busy coding a new freeware app, I'd be pleased to help write the guide.....)
Scotty
I'd help in a hot second. Not much of a programmer but I want to learn and I can't think of a better way to start.
while i'm not a programmer, i do run a web development co. and my role, aside from exec, is limited scripting and lots of idea generation. i also often offer solutions to jams my programmers get into - perhaps this would be helpful.
i could also offer hosting services if needed assuming it's reasonable... in short, i'll help any way i can.
-SC
I was a programmer some 10 years ago during 2 years, but have been "away" since. I could try to help in development, but if it's hard for me to find time to skin for TP, it would be even harder to find time to "return" to coding, investigate/learn and stuff like that.
However, I'm available to help in testing/skinning with the referred limitations.
Sorry, can't follow this thread, is this a project between LTW and the others here, or is this going another direction and does not have to do anything with
TodayAdv (in a freeware way)?
Greetings Broesel
I'm a developer, with VS .Net 2003, but no PPC experience. I've been kicking around the idea of doing a Today plug-in for weather, and do intend to get going on it eventually. Life gets in the way.
Anyway, if anybody does pursue this I would recommend making it an open source project at the GotDotNet workspaces or else Sourceforge. This enables a method to distribute the work and let the thing endure if people like it and you go MIA.
A great place to start researching is DevBuzz, tons of articles, tutorials, and code samples. There's even a link on the front page right now about creating Today plug-ins - but the link doesn't seem to go anywhere.
I've posted a reply in a different place but it covers this as well...
http://www.dark-mojo.com/todayplus/viewtopic.php?p=8511#8511
....let me know if I can help...
Well it looks like there is definitely some interest in this idea. I have given this a bit of thought over the weekend and had a look at the MSDN site.
I was thinking that it may be best to use an XML format for skins rather than try and maintain compatibility simply because their is already and XML parser in the OS and so it may be quicker to create an XML skin format than try and write a parser for the current format. The good point from this is that it should also make it easier to decode RSS feeds.
As for the weather it looks like we may just have to parse the page and scrape the info we need.
As far as a plan goes I would suggest that if we do start this, we start off with the basic framework and then implement something simple first which we can release (such as just the weather functionality - I was considering this also Dav) to keep those waiting happy and continue to implement bits of functionality culmatively (e.g. agenda etc) until we reach full functionality.
I have never done an open source project either but reading some of the posts above apart from sourceforge and yahoo groups their are other places which we can host it and I am used to working on multi-site projects and have used a lot of CVS (admittedly only on a single site) and setup a few repositories at work.
Ideally we need more programmers if we want to get a relatively quick release. I suggest we leave this thread until the end of the week and see where things stand in terms of numbers etc. and then if enough people are willing to give it a go start making some plans.
In terms of software I have Visual Studio 6.0 SP5, which isn't much use for PPC development but I have already downloaded eVC++ 4 SP2 and the WM2003 SDK from MS which is usable.
Any thoughts on this,
Morpheus
Morpheus,
I'm with you... I posted part of this message earlier and can match you software. I'm hoping to get .NET soon. I let my website die but will reactivate it and start to load a BB if you want to go with it. Looks like there is a Strike thread started out there, so I may just go with it anyway. I also agree on the "xml" Looking over a couple of .net books indicate that's the choice for .net compact framework. Let me know...
I have a website I'm not using at the moment and can offer it for development if this board dies. I haven't used phpbb, but have used yabb. I don't know much about anything but usually can learn enough to do the job. I've obtained enough software to learn to develop for ppc and have been cramming. I've already started to add sample things to the today screen and will hopefully soon have the weather and rss feeds show up as an item, the other items are pretty much built in (poom=pocket outlook) and just have to be manipulated.
I'm having trouble with my .dll, but just learning. I've been comparing code from tp+ and journal bar and calandar to get a clue. It looks like tp+ was importing functions from 7 or 8 modules and had 6 objects so I'll have to check on what they do. It would be easier to crack this program if it had error messages when it tried to load expired. I saw this in the code but seems to be a dead end and just formats time, so much for cracking and time to build...
Import Module 007: OLEAUT32.dll
Addr:00037F00 hint(0025) Name: SysFreeString
Addr:00037ECC hint(00DE) Name: VariantTimeToSystemTime
Addr:00037EE6 hint(002A) Name: SystemTimeToVariantTime
I got this from a PPC development guide and started from it......
Writing a Custom Today Screen Item
A custom Today screen item is simply a DLL that implements a specific interface and is registered in such a way that the Today screen can find it.
Each DLL must export one required and one optional function at specific ordinals. InitializeCustomItem (ordinal 240) is required for all Today screen items. The InitializeCustomItem function creates the child window to display the data.......
Quote from: fishboyCreating the display functions (i.e. image, text etc).
Fishboy,
I haven't any experience with/in programming. But I'm be willing to do the things I can: making images en testing. It's not much. I know. Sorry!
Timmy
Quote from: MorpheusIn terms of software I have Visual Studio 6.0 SP5, which isn't much use for PPC development but I have already downloaded eVC++ 4 SP2 and the WM2003 SDK from MS which is usable.
I have Visual Studio 6.0 SP5 and download eVC++3 and PPC2002 SDK because it says that Visual Studio .NET is required to use the WM2003 SDK (and I don't think eVC++ 4.0 works with the PPC2002 SDK). If you do find that eVC++ 4.0 works with VS 6.0, let me know.
Quote from: fishboyQuote from: MorpheusIn terms of software I have Visual Studio 6.0 SP5, which isn't much use for PPC development but I have already downloaded eVC++ 4 SP2 and the WM2003 SDK from MS which is usable.
I have Visual Studio 6.0 SP5 and download eVC++3 and PPC2002 SDK because it says that Visual Studio .NET is required to use the WM2003 SDK (and I don't think eVC++ 4.0 works with the PPC2002 SDK). If you do find that eVC++ 4.0 works with VS 6.0, let me know.
fishboy,
I've been using visual studio 6.0 with evc++4 and WM2003 and it seem to work fine.
Sounds like there's a lot of serious talk here. I would suggest we identify - not necessarily migrate to - another site away from this board to house this thing ASAP. It would be pretty dissapointing to get some momentum going then lose the only method we have of organizing.
Well if we go to somewhere like sourceforge it provides message boards etc. so we wont need to set one up ourselves. However as a contingency plan if this site does disappear before we all get organised, then a post or PM at Brighthand directed at "Morpheus" will usually find me and we can then reorganise from there. We should still have a bit of time here to get organised and build up numbers before then. Timmy everything helps, I've got the artistic ability of a squashed hedgehog :) and assuming this takes off once we do get something going we will need some testers.
Morpheus
hi all,
would it be worth setting up chat via irc to do some initial planning w/out the delay of a board?
just a thought.
The company I work for is looking into WinCE / PocketPC development. Here is what I've learned so far.
To target Pocket PC 2000 and 2002 devices:
Use eMbedded Visual Tools 3.0 to write unmanaged code for devices based on Windows CE 3.0 such as the Pocket PC 2000 and Pocket PC 2002 using Microsoft eMbedded Visual Basic® 3.0.
To target Pocket PC 2003 devices:
If you need native code support, you need to use eMbedded Visual C++® 4.0 (with SP2), and for managed code (.NET) development you will need Visual Studio .NET 2003 and the Microsoft .NET Compact Framework.
Microsoft Windows .NET Compact Framework—The .NET Compact Framework is in ROM in all new Pocket PC 2003 devices, and can be installed in RAM in Pocket PC 2000 and Pocket PC 2002 devices.
Microsoft Visual Studio® .NET 2003—The Pocket PC 2003 SDK integrates into the Visual Studio .NET 2003 IDE and can be used from both Microsoft Visual Basic® .NET and Microsoft Visual C#™ .NET.
For more details, look at the following links:
eMbedded Visual Tools FAQ (http://msdn.microsoft.com/vstudio/device/embedded/faq.aspx)
What's New for Developers in Windows Mobile 2003-based Pocket PC (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppc2k3/html/winmob03.asp)
eMbedded Visual C++ 4.0 (http://msdn.microsoft.com/vstudio/device/embedded/evcandcenet.aspx)
Quote from: mikediceTo target Pocket PC 2003 devices:
If you need native code support, you need to use eMbedded Visual C++® 4.0 (with SP2), and for managed code (.NET) development you will need Visual Studio .NET 2003 and the Microsoft .NET Compact Framework.
There is no actual need to use eMVT 4.0 or .NET for PPC2003 (WM2003). Applications created with eMVT 3.0 for PPC2002 work on WM2003 just fine! (I already have a couple :roll:) No .Net please! It's slow and there is still a lot of PPC2002 devices around, which require installing of .Net CF. That was the main thing personally I didn't like in T+ 0.11.
And I agree, XML would be nice format for a config file. A little bit heavy to be edited as a plain text on a device, but still good. And no registry please! That's another major thing personally I didn't like in T+ 0.11 :)
I can try to participate in the development a little, though I don't have a lot of spare time :(. But let me know if the project will be started on SourceForge or somewhere else.
By the way, AFAIR CalendarPlus (CalPlus?) Today plugin had its sources available. It may be used as a starting point, I guess.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/TodayScrn.asp
Someone earlier mentioned a link on DevBuzz for this article, but said it was broken.
A little judicious Googlin' and viola, the article is found.
No coding experience whatsoever, but I've been a Tech Writer for three years and am willing to work on the documentation.
DGS
I got not much of programmoing experience..just a short programme done before.But I will try to help watever way I can
Quote from: MorpheusIdeally we need more programmers if we want to get a relatively quick release.
Morpheus,
I'm not a programmer at all, as I said before. But, a question for you: is there something to do with the program Forward Pass on:
http://www.forwardpass.com/a.cgi?Download
I hoped to give a usefull tip?!?
Timmy
Ok guys, We've all been anxious to help out where we can but, we need to come together. Like others I've offered my resources where I could and a web site, but I really haven't rec'd any direct responses.
The way I see Lt's TodayAdv., It's going to be an as is program when you buy it and the only way to really change the skin would be to buy one. It's an option and I wouldn't say I wouldn't buy it, but it's hard to swallow after the original TodayPlus.
Todayplus gave us an excellent app. and I don't want to see this motivation for development fade away. I waited as long as I could, but felt strongly that we had to make a move. I took the next step and created a site to try and further this project. It's called "TodaysXtra" (should be up in a little while, I'm tweaking). All of you are very welcome to join the board and hopefully in a fruitfull project
I plan on learning this stuff if not only for TodaysXtra, but for my personal PPC and my IT career. I work in the IT industry and wear many hats, but windows programmer isn't one of them and I know it's just a matter of time. Anyway that's where I'm heading and I hope to see you there. The website has a quick flash.swf at the begining and redirects you to the board or you can click the skip intro link at the bottom. I know it moves a little fast but I'll tweak it later. Please visit, It's free and say Hi and remember that one tip of yours could save the day. It's your move.
Thanks to Eitel, SRS and all on this board.
http://www.todaysxtra.com
Oh, the flash intro has a melody stream so please watch your volume.
Thanks
http://www.todaysxtra.com
I've watched this with a bit of interest, and I'll throw my .02 in:
Background: I've been writing code for just about 30 years, and doing it professionally for 23 years. I've worked in several languages (several assembly languages, C, C++, BASIC, PASCAL, ......), too many systems (mostly micros, but several minis), many operating systems. I've been project lead and analyst, etc., etc. blah, blah.
So, while I'm still learning about life and the pursuit of happiness and programming (you never know it all), I'll throw in a bit of advice:
1. Please - only real programmers need apply. This type of project (Today Screen Plugin) is EXTREMELY picky about it's operation and timing. Not too much different than the old TSRs (terminate and stay resident) programs of DOS. This is not a trivial task, and isn't something for a beginner to cut their teeth on. If you want to learn to code, and code for the PPC, then write your own application, get your feet wet, and see if programming is the life for you.
2. Write it in C, C++ - PLEASE FORGET .NET! It's a pig, and in another year or two (if this new project is still active), you'll get to rewrite it when MS comes out with the "next best way to program". Yes, .NET provides some nice wrappers, etc. - code your own or live without. You've been warned.
3. Configuration file should probably be in standard Windows .INI type format (for a SIMPLE TD+ alternative), or in XML for something more flexible, or "roll your own" for something akin to what SRS was creating (flexible skins, control logic, etc.)
4. If you can't stand the heat - DON'T GO IN THE KITCHEN! People will criticize the code, it's operation, and wonder what idiot could have come up with THAT idea. GET OVER IT. If this was the main reason SRS left the project - I'd suggest he find another mode of making a living. Users and testers are always trying to "kill your baby". EVERYONE always has a better idea, and knows more than you about programming (especially if they don't program). Doesn't mean you have to like it, but get used to it quick.
5. I'll probably step on toes with this one, but - IF ENGLISH is your native language, and you can't spell, and write coherently (generally correct grammer) - please don't program. Programming is tedious detailed work, and it doesn't speak well of your coding and thought processes if your spelling is atrocious and grammer is poor.
6. If you collaborate, ONE PERSON IN CHARGE, AND WHOSE VOICE IS THE FINAL AUTHORITY! Also, I wouldn't suggest more than 6 people to work on the project, and 2 or 3 would probably be better. You need the one person to be the tie-breaker when disagreements come up (and they will). This one person needs to be an experienced coder and project leader (or a natural leader). This person will be responsible for handing out tasks, trying to coordinate the tasks, and helping others out with coding problems. Also should be the person to do code review.
7. If you won't promise to dedicate one year of your life to the task - don't volunteer. Nothing is worse for a collaborative, "gratis" project, than for someone to lose interest and feel like they "have to" continue.
8. SET DEFINABLE, ATTAINABLE GOALS! AND DON'T KEEP CHANGING THE DESIGN! This was one of the issues I brought up to SRS back in early September. It is frustrating for users and contributors to keep trying to change their contribution (skins) to meet ever-changing syntax and new features. Decide what's in a release AND STICK TO IT. Then work on the next release, while still addressing bugs in the last release. DO NOT SUPPORT MORE THAN 2 RELEASES AT A TIME! In other words, if there have been 10 releases since .0.7.1, don't support the old release. If the bug still exists, fix it in the latest release (and the beta). You'll go nuts if you try to support too many releases.
9. One person who is an excellent communicator, and possibly tester. This person is the sole go-between between the users and the developers. Not entirely necessary, but it relieves the developers from having to answer lots of tedious email (most of which was already answered), and stick to what they do best - develop.
10. Suggested breakup:
1) Configuration parser. Don't know how much overhead yacc and lex would add, but it's a significant help in parsing (And no, a standard XML parser won't really work. (If you don't understand that - you don't understand creating languages and writing parsers/compilers). It also helps you to make sure your config file syntax isn't ambiguous.
2) Skeletal framework for placement of other logical sections (basic control loop, timing triggers, hook into Today Screen, etc.)
3) Weather section
4) RSSS section/parser
5) Calendar/Appointments/tasks section
6) Program/link launcher section
7) Hardware interface (for memory, etc.)
8) Graphics - someone with REAL graphics skillls to create icons, graphics, etc. or someone to pool together public domain sources for use.
Don't reinvent the wheel! Most of the basics here have been done in other places, and the code is either public domain or open source. Obviously, it won't be a drop-in for a PPC, but it has most of the basics already handled.
I wish I could actually write some code, but I've got 2 other PPC coding projects I'd really love to have (even more than this app), and work on, for the last 2 years. Fortunately (or unfortunately), I've reached the stage in life where programming is a way to earn a living, and doesn't consume every waking moment (especially those 96 hour-at-a-stretch moments) like it used to.
You can take these thoughts, or not. From experience, however, I think you'll find that if you don't follow them, you'll look back on the project and wish you had.
caveat emptor, YMMV, batteries not included, limited lifetime warranty, etc., etc.
Quote from: tundrwd........it doesn't speak well of your coding and thought processes if your spelling is atrocious and grammer is poor.
Sorry tundrwd, can't resist, the irony is too much.....you spelled "grammar" incorrectly.... :D
Scotty
Dang it! I just knew one would slip thru.... Ooops, there's another.
Well I thought I'd drop in before the weekend (where I will be mostly/completely offline). Ok the plan is as follows (assuming everyone agrees). We need to start some initial planning/organisational stuff early next week sometime (just in case the board does go down and we loose contact). As suggested by SacredCow earlier this should probably be via a chat medium such IRC, ICQ etc.
It looks like heybear has grabbed the proverbial bull by the horns and setup a site so this is a definite start, although we may still need to setup a CVS repository or something similar to manage and track changes to any code/documentation that is produced.
tundrwd, by the looks of it there are only a handful of actual programmers here anyway so I don't think we need to worry about being oversubscribed with developers and whilst their aren't many PPC developers, past experience has shown the necessity can be a greater teacher (when I originally joined the UI team at work I had never worked with Motif).
I am not expecting the code and design to be necessarily the best they can be for the platform because of this and people will no doubt look at the code and think "What the hell", I do that at work all the time but the advantage of an open source approach is that if someone can really do a better job they can make the change and assuming that it is approved for a merge on to the maiin release branch it can replace said code. I would suggest that whilst one main liaison between testers and developers might be ok in a commercial environment with a full time team, we should probably have a backup because people will be doing this part time and it is very easy for whatever circumstances e.g. computer crashes etc. for people to be out of contact for long periods.
I agree that we will need to find someone who is willing to be a co-ordinator/project leader but one of the main requirements for this will be how much time they can devote, make no mistake as I am sure tundrwd knows leading a team can be a full time job in itself and can quickly start to eat into time which you had hoped to devote to other things.
As for the language thing I would have to disagree, most of my work is conducted on products which generally span sites in the UK and Italy (and Germany in the past). Whilst the fact that some of the Italian developers can't really speak English that well, it doesn't inhibit their programming contribution significantly anymore than my inability to speak Italian :)
Anyway as people have probably already guessed I am willing to give this a go, fishboy sounded very interested and by the looks of it heybear is definetely onboard. We can get a final list next week and go from there. Anyway I've got to go so I'll check back in here Monday.
Regards,
Morpheus
I would like to help but I don't have much knowledge of programming...I can test everything but that's about it...
Hope you will give us the info as where to find you when the project will be available for testing...
ICU
Just to let anyone who is interested no I have now migrated over to the TodaysXtra (http://www.todaysxtra.com) board setup by heybear to continue this discussion in further detail and hopefully start doing something soon. Hopefully others who are interested will also get on board over there.
Morpheus
Quote from: MorpheusJust to let anyone who is interested no I have now migrated over to the TodaysXtra (http://www.todaysxtra.com) board setup by heybear to continue this discussion in further detail and hopefully start doing something soon. Hopefully others who are interested will also get on board over there.
Morpheus
To All,
The homepage Morpheus mentioned, is under development. You can also go to http://216.67.255.15/~todays/cgi-bin/smf/index.php
Timmy