mShell Blog

29
Sep

mShell 3.0 Released

by Luke

Finally we can announce mShell v3.00 to the community. It’s the most radical update so far and we are quite proud of the new features. Also apologies about the long wait; again and again we had to move back the release date due to other commercial projects that required our attention. The files can be downloaded on this site: http://www.m-shell.net/Download.aspx. Note that we outsourced the links and that the URL mshelldev.net will appear.

Enough the talking, here is the release log (as you can see it also contains other version numbers which were internal development cycles, but the current version includes all these points):

  • 2.03-1: Added OOP extensions.
  • 2.03-2: Added graph.size(text,bounds).
  • 2.03-3: Added graph.screen.
  • 2.03-4: Added video module.
  • 2.03-5: Increased I/O buffer size.
  • 2.03-6: Improved output of arrays, class instances, function references.
  • 2.03-7: Streamlined VM instruction set.
  • 2.03-8: Added ui.mode.
  • 2.03-9: Added Exif JPEG support to cam module.
  • 2.04-1: Added code externalization (Compile command) and ability to execute externalized code (.mex files).
  • 3.00-1: Refactored internals of mShell app to clarify separation.
  • 3.00-2: Changed semantics of proc.close, proc.runs and proc.stop if there is no such process.
  • 3.00-3: Extended semantics of proc.run.
  • 3.00-4: Separation into environment and IDE for standalone application support.
  • 3.00-5: Added mex2sis for sis generation.
  • 3.00-6: Added support for changeable document directory and subfolders.
  • 3.00-7: Added async module for asynchronous operation multiplexing.
  • 3.00-8: Added accel module for S60 3rd Edition.
  • 3.00-9: Added alpha channel support to module graph.
  • 3.00-10: Added graphclip.
  • 3.00-11: Added ui.xxxkey2 for UIQ four way navigation.
  • 3.00-12: Added support to load and display PNG files with alpha channel.
  • 3.00-13: Removed dynamic iwlib.dll on 2nd edition devices, which was sometimes causing conflicts with other SW depending on it.
  • 3.00-14: Removed net.adr without parameters (obsolete, use net.local).
  • 3.00-15: Rewrote directory synchronization to keep scripts always ordered.
  • 3.00-16: UI command cleanup.
  • 3.00-17: Fixed bugs.

What people have been waiting for the longest is a way to compile and distribute scripts, this is now also possible. On the phone .mex files can be created and then on a web service they can be compiled into .sis files which can be distributed. Here’s the link to the service: http://www.m-shell.net/Makemsis.aspx

Important: Before you install version 3.00 uninstall previous versions of mShell. It avoids errors when installing the new version.

Currently rated 4.9 by 9 people

  • Currently 4.888889/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

m Programming | mShell | News

25
Feb

Screen resolution independent programming

by Juerg

Since a few weeks I have a Nokia E90. This great phone has an external screen at standard S60 3rd Ed resolution of 240x320 pixels and an internal screen with 800x284 canvas size.

What a pitty when I started some of my scripts written earlier for the Nokia N70. Many of them has been written with the typical S60 2nd Ed screen resolution in mind so the app screen "hangs" somewhere in the upper left corner when running on a bigger screen. Although the script worked fine I had to go trough the code and change all constant screen coordinates or sizes to relative coordinates and sizes. All the time I saved with the quick hack to assume a constant screen size and/or orientation where eated up with the boring and time consuming adaptions for screen res. independency.

When programming for mobile phones you should always aware that screen size can be different from device to device. Also the screen orientation can change while your programm is updating the screen.

Use graph.size() to get the current screen resolution. If you are using icons (from files) it's a good idea to produce the graphics for a virtual screen resolution which should be at least  two times higher than the current standard. Before drawing the icons you can scale it with graph.size(icon, scale) or graph.size(icon, w, h).

For many applications it is also sufficient to to put the graph module in scaled mode. 

Whatever method you like better, make your application screen resolution independent!

Currently rated 3.0 by 2 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

m Programming

29
Jan

Diving into Symbian

by Luke

I've been diving into the Symbian platform lately. I already worked with it in some minor MIDP (Java) projects but the last few weeks have been filled with reading trough the documentation and checking out the example programs. Its interesting to see how Symbian has tweaked the C++ language quite a bit with strict naming conventions that are necessary for the compiler so that he knows what he ought to do. There is it's own kind of exception handling, etc. When you have finally compiled a program then you need to go trough a expensive and lengthy signing process in order to make the file distributable. 

All this makes mShell so cool because it gives anyone from kickass programmer to the beginner access to many Symbian features, leaving out the whole complicated developing process. We see people using it as a prototyping tool or implementing one of the many little programs that just gives you the feature your handheld computer is missing. But we also used mShell for quite sophisticated projects like distributed BT dispensers, where people could come up to a terminal, turn BT on and receive free content or other programmers that have taken it quite far like a full blown ICQ client or an FTP program.

Currently rated 4.0 by 2 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

m Programming | Symbian

18
Aug

mShell 2.01 released

by Luke

What's new in mShell v2.01:

  • mShell 2.01 runs on UIQ3 devices also! Check the enhanced compatibilty list.
  • Added script search (S60 only).
  • Added cam.count and cam.index to select camera.
  • Added ui.save to save console text.
  • New activation schema based on IMEI (phone Id) and not on IMSI (SIM card). This allows Web based activation as alternative to SMS based activation. mShell can run with no or inactive SIM card and in flight mode.

Currently rated 4.3 by 3 people

  • Currently 4.333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

m Programming | News

18
Jun

mShell 2.0 released

by Luke
mShell 2.0 opens the S60 3rd Edition platform for your ideas! The powerful and comprehensive library from mShell v1.x has been fully ported and even extended. With mShell 2.0 you can use the rich functionality of a Symbian OS 9.1 phone for your own applications without going through the tedious and expensive Symbian Signed process. Programming a smart phone has never been easier!
Once more we would like to thank you for your valuable feedback from around the world. To better support the active and constantly growing m community we opened a forum on this site. We and other m users would be happy to see you there and receive your tips and tricks, script contributions and feedback.
And the best: mShell is still free and it will stay free! Download here and don't forget to use serial number 42 when asked upon activation.

What's new - all platforms:
  • The former m Library Part 2 has been fully integrated in the standard library. This is also reflected in the new manual structure which consists of the Tutorial & User Guide, The Reference and the Library Manual. As before, you will find the m documentation - filled with hundreds of examples - a valuable source for pros and beginners to enter the virtually unlimited activity of programming mobile phones.
  • New module comm: gives you access to Infrared, USB and Bluetooth serial ports.
  • New module msg: generic access to the phones message store.
  • New module zip: provides read access to ZIP (PKZIP) archive files.
  • New functions net.listen() and net.accept() allow you to create TCP/IP service ports on your phone. Great in conjunction with the WLAN capabilities found many new phones.
  • Added find and replace in editor, see entry Find in Edit menu.
  • Native Module Interface (NMI) SDK has been updated to support development for S60 3rd Edition devices.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

m Programming | News

26
Jan

Native Module SDK

by Luke
The Native Module Interface (NMI) SDK allows you to plug in specialized Symbian OS APIs into m. The NMI SDK explains - illustrated by two examples - the basic programming concepts of Symbian OS and the m runtime environment. With this SDK you have not only a powerful way to extend m to your very special needs, you have also an easy entry point into the complex field of Symbian OS programming in C++. The free NMI SDK can be downloaded here.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

m Programming | News

Powered by BlogEngine.NET 1.3.0.0


Calendar
<<  October 2008  >>
MoTuWeThFrSaSu
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar
Archive
Authors
Tags
Categories

Sign in