Background
In the previous article about Open Source (I), I talked about the Open Source Process and Open Source license. For more information about the iToday open-source project, see Wang Kewei's open-source project, iToday ). This article describes the iToday development plan.
Forward goal
The forward objective is a Windows Mobile image library composed of Gesture library, Animation library, control library, DirectDraw, OpenGL ES, widgets, and XML-based UI. This library not only supports the development of iToday, but also supports the development of attractive Windows Mobile applications.
Short-term objective
After communication with Lee sen-listen, we felt it would take a long time to achieve the long-term goal. Therefore, I set a short-term goal. The goal in the near future is to achieve a today similar to HTC's M2D. I have used Samsung's today, PointUI, and spb shell. I think HTC's M2D is the most concise and convenient, which may be one of the reasons why HTC's machines sell the best.
This Is HTC's M2D, mainly composed of several aspects, including the navigation menu located below. This menu is very important and can be converted into different pages (panels ). The page consists of Home, People, Messages, Mail, Internet, Photos, Videos, Music, Weather, Map Search, Settings, Programs, and so on.
Click the navigation menu below to preview the currently clicked Panel, for example, click the Messages menu.
After opening the click, you can switch to the corresponding Panel and use the Panel function. Click Weather to preview and enter the Panel after Weather.
Compared with the current version of iToday, the direction of HTC is the same. below is the navigation menu bar, and the Panel is changed through the navigation menu. The following is the Home Panel.
Below is the People Panel.
The following is the Program Panel.
The following is the Photos Panel.
How to achieve short-term goals
From the current version to the implementation of short-term goals, you need to improve the navigation menu function, improve the original Panel, and add a Panel without it. I will list the main tasks. Once all of these functions are implemented, short-term goals are achieved, and version V1.0 is released.
Function module |
Detailed functions |
Owner |
Navigation menu |
Improve the navigation menu function, implement M2D preview, and support multiple panels. |
Li Sen-listen |
Code Specification |
Code Specification |
Li Sen-listen |
Complete Photes Panel |
Image compression and preview. |
Wang Kewei |
Add Weather Panel |
Implement WebService encapsulation and control encapsulation in the drop-down box. |
Jake Lin |
Improved Home Panel |
Implements notifications such as missed calls and unread text messages, simple time and date. |
Roy |
Improve People Panel |
Improve the layout similar to the jiugong temple. This can be done with the Programs Panel and encapsulate controls such as the editing box. |
|
Added Messages Panel |
Encapsulate the POOM function. |
Yu jinfeng |
Add Mail Panel |
Encapsulate SMTP functions. |
|
New Internet Panel |
Call the default browser. |
|
New Music Panel |
Encapsulate Windows Media Player. |
|
New Video Panel |
Encapsulate Windows Media Player. |
|
Add Map Search Panel |
Call the google map api. |
|
Add Settings Panel |
Encapsulate the selection box control. |
|
Improve Programs Panel |
Improve the layout similar to those of the 9th Palace. |
|
If both the long-term objectives are taken into account
I also considered how to consider the short-term goal. In the forward goal, the Gesture library must be implemented. Non-UI libraries, such as POOM, XML, and WebService, will also be implemented. At the same time, the GDI and Immaging rendering functions are implemented, to implement some of the control library functions, I will use this process as an accumulation process to achieve the long-term goal. These functions become part of the long-term goal. Other features, such as DirectDraw, OpenGL ES, widgets and XML-based UI and control libraries, Now I use them as experiment, experimental features, they are located under the namespace experiment, whether their implementation is independent of iToday Version 1.0. I want to use these functions as a Panel, such as a Widget Panel. When the Widget Panel is complete, it can be promoted to other panels. Another example is OpenGL ES Panel. It is used as a Panel, but after maturity, it can be used as the basic part of rendering. modify other panels to support OpenGL ES.
About the team
A large open-source project is hard to accomplish by one person alone, and must be completed by a team of people with common aspirations, including developers, testers, promoters, and developers, develop and implement functions. Testers are responsible for testing and locating problems. Promoters are responsible for product promotion, including promotion to blogs and forums. At the same time, I also need the project coordinator to do the scanning work. Now I am doing this job. The above roles are also required for the same iToday, but is there more people, the better? I don't think so. Open-source participants are generally called Contributor and contributors. Participating in open source is a contribution and there is no direct return. If you want to get any economic rewards for participating in iToday, I will tell you honestly that we will not be able to give you such a reward. What can we get, the process of learning, and the improvement of our abilities may include the improvement in writing popularity. Direct monetary benefits cannot be obtained. If you understand this principle, you can consider joining it and participating in module development, product testing, and product promotion.
Next, let's talk about environment setup and code specifications ....