blead 25801: Symbian batch of today
[p5sagit/p5-mst-13.2.git] / symbian / TODO
CommitLineData
27da23d5 1=head1 BASE PORT
2
3=head2 Console
4
5- The Console only does "ASCII" input: e.g. pressing the "2"
6 key five times, "aaaaa", does not produce "รค" ("a diaeresis"),
7 but instead the "2" key rotates through "abc2abc2...".
8 This is a pity because the Console is actually capable of full
9 Unicode input and output (if you have the fonts, that is). You
10 can verify this by entering e.g. the euro character, which is
11 U+20AC, well beyond U+00FF. I don't know why the full repertoire
12 of the keyboard is not available.
13- Enhance the console? (line editing, full x-y movement, history)
14- The role of the console needs to be rethought: the best way
15 would be to have the console visible in the same screen as
16 the GUI elements (an "embedded console"?)
17
18=head2 Core Language
19
20- the $^E does not work
21- select() does not work (not our fault)
22- starting external application: what now (0.1.0) works is:
23 - system("app");
24 - system("app&");
25 - and those with arguments:
26 - system("app arg1 arg2")
27 - system("app arg1 arg2 &")
28 but remember that a Symbian process does get only argv[0]
29 and argv[1]: all the arguments of the application are passed
c8f896e5 30 in as a single argument, the second one ("arg1 arg2" in the above)
27da23d5 31 What does not work:
c8f896e5 32 - I/O redirection
27da23d5 33 - piped open, in either direction
34 - qx/backtick/`
35 - fork/wait (these unlikely to ever work as in POSIX)
36 - IO redirection or filename globbing in system()
37 (since there is no POSIX shell beneath)
38 What might work in future:
c8f896e5 39 - some I/O redirection
27da23d5 40 - exec() might be made to work
41 - Symbian::spawn("cmd args") returning a process id (what does Win32 do?)
42 - Symbian::waitpid($spawned_pid)
43
44=head2 Platform
45
46- in S60 1.2 (at least in 3650 Nokia 3650 v3.11) setjmp/longjmp is
47 fragile (see Symbian FAQ-0929), intensive debugging and fix needed
0added8b 48- in S60 2.6 (at least in Nokia 6630 v4.03.11) launching scripts via
27da23d5 49 FExplorer does not open up the console
50
51=head2 Unicode
52
53- Symbian has Unicode filenames, and Unicode all over the place.
54- Encode and the use of Symbian Unicode in general
55 tie into the overall usefulness of PerlIO.
56
57=head2 Portability
58
59- Slash versus Backslash: where does one need to use "\\"?
60 writing Perl applications, where can one get away with using "/" ?
61
62=head2 Build
63
64- make xsbuild.pl much more robust (for building external extensions)
65- MakeMaker? Pure PM, PM + XS?
66- currently the PerlApp UID is in both config.pl (hardwired) and
67 in makesis.pl (computed), this is quite error prone
68- Enable building also under Cygwin?
69
70=head1 PACKAGING
71
72- subdivide perlext.sis?
73- pm-stripper: strip pod and comments, while inserting the appropriate
74 #line commands to keep linenumbers in sync. Shaves off easily 50%
75 of the code, making install packages smaller.
76- Get MakeMaker to create SIS packages? In non-Win32?
77- Symbian has APIs for opening .zip files
78- Investigate Autrijus Tang's PAR format
79 http://www.autrijus.org/par-intro/
27da23d5 80
81=head1 PerlBase
82
83- review for proper Symbian coding practices
84
85=head1 PerlApp
86
87- In "Run" see how one could show also the file extensions.
88- when autostarting also offer to display the file (via Notes?)
89 instead of installing/running it?
90- Allow passing command line options to scripts being run?
91- Add "OneLiner" menu item? (-e, -M) (requires a UI form)
92- Terminate/Pause menu entries?
93- review for proper Symbian coding practices
94
95=head1 CORE LIBRARIES
96
97- Fix Devel::PPPort (worth it?) (Note that there is D::PPP 3.x out by now)
98- Fix Encode to not to have writeable data: seems to be tricky indeed
99 because of copious global non-const data.
100- Verify that the modified File::Spec::Win32 does work in Symbian.
101 (File::Spec::Epoc does not seem to be relevant?)
102- What does Cwd really do since the concept of cwd is a bit fuzzy in Symbian.
103- What should Sys::Hostname return? GPRS? BT? WLAN?
104- ByteLoader problem: byterun.c does not see VERSION and XS_VERSION.
105- POSIX problem: STDLIB POSIX is not that POSIX.
106
107=head1 REGRESSION SUITE
108
109- how to run the standard test suite on a Symbian device?
110
111=head1 CPAN LIBRARIES
112
113- Include/Package more modules (or work harder on getting CPAN.pm working?)
114 (but note that lib/**/*.pm is 3.5 megabytes, probably not worth including
115 all of it, even after pm-stripping):
116 - libnet
117 - Bundle::CPAN
118 - Archive::Tar
27da23d5 119 - Term::ReadKey (useless?)
120 - Term::ReadLine (useless?)
121 - Bundle::LWP
122 - URI
123 - HTML::TagSet
124 - HTML::Parser
125 - HTML::Entities
126 - HTML::HeadParser
127 - LWP
128 - Crypt::SSLeay? (ssl?)
27da23d5 129 - IMAP?
130 - Net::Telnet?
131 - Archive::Zip?
132 - Mail::Send?
133 - Date::Calc?
134 - XML? XML::Simple? (expat?) (there is builtin xml support)
135 - RSS?
c042ae3a 136 - DBI (DBD::???)
27da23d5 137 - DBD::SQLite? (sqlite?)
138 - SOAP? XML-RPC?
139
140=head1 FUTURE POSSIBILITIES
141
142- Remote console (Bluetooth/IR)
143- S60 GUI support
144- S60 PDA support
145- Phone APIs
146- S80
147- UIQ