**The Background of the Paper**
MiniGUI is one of the most renowned open-source Linux graphical user interface support systems. This article is an excerpt from Wei Yongming's latest discussion on MiniGUI's "Nirvana Rebirth" on September 1, 2017.
**About the Author**
Wei Yongming earned his Bachelor’s and Master’s degrees in Engineering from Tsinghua University. He initiated the MiniGUI project, one of the most well-known open-source software projects in its early stages. MiniGUI has been widely used in embedded products such as feature phones and digital photo frames. In 2002, Wei Yongming founded Beijing Feiman Software Co., Ltd., successfully implementing a dual-license business model around open-source software. In October 2015, he co-founded Beijing Yubotu Technology Co., Ltd., serving as CEO. Wei Yongming has played a significant role in promoting Linux and open-source software in China, translating or compiling several technical works ("Practical Guide to Linux," "Linux Device Drivers," etc.). In 2013, his outstanding contributions to open-source software were recognized by the "China Open Source Software Promotion Alliance," earning him the title of "Outstanding Contributions to Open Source Software."
Last week, I traveled to Shenzhen for a business trip and met up with some former colleagues from Feiman Software. Gao is currently working for a CNC system developer in Shenzhen. Since 2000, Mr. Gao has been advocating for the Linux + MiniGUI smart TV solution in TCL and Skyworth and even developed his own browser based on MiniGUI. However, as we all know, smart TV products gained market recognition and great development over the past decade (especially around 2010). Android technically ensured the success of products like smart TVs. At the time, the overall push wasn't recognized by the product department. In reality, it wasn't about the technology but rather that the market was still immature. Everyone reminisced about these past events, and we all felt somewhat embarrassed.
As an open-source software growing on domestic soil, MiniGUI released its first version in 1999, matured around 2003, and gained widespread applications between 2000 and 2010 when the embedded product type flourished. It was used in industrial control systems, feature phones, digital photo frames, and other product types, including Huawei's digital photo frame, Lianxin's feature phone solution, and RDA's feature phone solution. I established Feynman Software in 2002 and attempted to operate MiniGUI and its products using an open-source and commercial approach (dual-license model), achieving a certain level of success, though there were many lessons learned along the way.
Since the publication of the above article, eight years have passed, and AI has become the focus of competition in the next high-tech field. In the operating system and basic software sectors, Android has occupied the market share of all smartphones except Apple, but it hasn’t completely replaced all Linux-based smart devices or more embedded real-time systems. There are still many customers in the market using MiniGUI to develop various types of smart devices. On the other hand, MiniGUI's competitor Qt has managed to survive, albeit with less prominence. The term "embedded system" that was once fashionable has been replaced by "Internet of Things." Huawei's LiteOS and other RTOS (real-time operating system) products developed by local developers such as RT-Thread and SylixOS have gained support from government departments and even capital markets, thus gaining new development opportunities.
As the original creator of MiniGUI, I don’t need to say much about this software. However, besides myself, there are more Feiman Software colleagues (including early users and developers of these MiniGUIs) who have put in significant efforts toward MiniGUI's development.
Wan is currently working for a star enterprise in Shenzhen. He was the head of the Shenzhen R&D team. Hou was an architect and is now a pioneer in Zhuhai. In 2007, the Feiman Shenzhen team under the leadership of Wan and Hou began taking charge of MiniGUI's maintenance. Around 2009, the team developed a comprehensive set of animation support frameworks and interface development techniques for MiniGUI. Without the advent of Android, these technologies could have been applied to the upgrade of feature phones, providing excellent UI/UX solutions for feature phones. However, the open-source nature of Android, coupled with Google's promotion, caused these technologies to miss out on potential applications and further development.
Dong currently works for Xiaomi and is the main developer of miniStudio products. miniStudio is an Eclipse-based integrated development environment that provides a "what you see is what you get" GUI interface editing tool. To facilitate the programming convenience of GUI applications, Dong modified the programming framework of the MiniGUI controls, developed the mGNCS (new control set) component, and introduced an advanced UI customization system and solution such as the appearance renderer. The leadership team developed the miniStudio product. Even after many years, when I found the miniStudio 1.0.8 for Windows version from the server and installed it on my computer, I was still amazed at the visual programming capabilities provided by this software. However, Feiman Software didn’t invest any effort into promoting and developing miniStudio, nor did it establish a business model based on miniStudio that could sustain a virtuous cycle.
mDolphin is a WebKit-based browser product. Zhang and Lu are the two main developers. The development of this product has been continuously evolving for many years, even successfully applied to the functional mobile phone solution of Lianxin. mDolphin is a typical large-scale application software on MiniGUI. Besides its own application value, it strongly proves the maturity of MiniGUI products. Currently, Zhang works as a technical expert in Alibaba, and Lu is a pioneer in the Internet field.
The former colleagues who have worked on Feiman Software mentioned above have invested their youthful years into the development of MiniGUI, and their technical abilities have been greatly enhanced and exercised. Regardless of the industry in which they later worked, or whether they were employed or started their own businesses, the development work done by FMSoft around MiniGUI remains an important part of their resumes. Besides them, in the more than ten years of development, Feiman Software has trained nearly 100 outstanding senior software engineers for the industry, which cannot be listed one by one. Some of them work in key technical positions in large Internet companies like Tencent and Alibaba, while others start businesses in the mobile Internet and other fields. They are dedicated to the development and maintenance of MiniGUI, which will benefit them for a lifetime.
When I visited Shenzhen last week, and I demonstrated and explained the animation framework and related technologies on MiniGUI to his current colleagues, I was deeply impressed that Gao, Wan, Hou, Dong, and others who have devoted their development to MiniGUI are no worse than me.
When Gao dined with them, Mr. Gao mentioned that MiniGUI still has strong demand and can continue to develop. Actually, on this issue, almost every time I visit Shenzhen and meet Gao, Hou, and others, they will bring it up and argue. They believe that MiniGUI still has strong market demand and should continue to develop. It would be a pity to let it go. I think that each product has its own life cycle. MiniGUI has been used for more than ten years since 1999. Its time might be over.
Since 2010, I have led the team of the original Feiman software to develop Tool Apps (such as Leading Desktop, Lock Screen, etc.) on Android, customized the smart TV solution, and now entered the field of intelligent hardware and mobile Internet. Probably from 2012 onwards, the development of MiniGUI has been in a stagnant state. Except for the latest version developed by Wan and Hou, and the open-source release of mDolphin, there has been almost no major update. However, since 2015, the demand for MiniGUI has become increasingly vigorous. Every year, customers will actively contact Feiman Software to obtain the commercial license of MiniGUI.
After many years of trial and error, I reflected on the path that MiniGUI and Feiman Software have taken. The reason I think that the life cycle of MiniGUI has arrived is probably due to the failure of Feiman Software to achieve success. In other words, I confused technology with business. A business may not be sustainable in a single mode, but technology will not be easily outdated.
A typical example is MySQL. MySQL's early operating company used a dual-license model and achieved a certain degree of commercial success. Later, it was acquired by Oracle. The dual-licensing model has basically completed its historical mission, but the application of MySQL is related to the Internet, mobile Internet, and cloud services, which are becoming increasingly popular. Even after many NoSQL databases appeared, MySQL still shows its vitality.
For example, specifications or infrastructures such as OpenGL have been developed for decades and have never seen their obsolescence. Apache, X Window, and other technologies or projects are almost always the evergreen of the open-source world, not to mention the Linux kernel.
Obviously, as long as it is the basic software with market demand and user base, continuous development is its main theme; it is business that is outdated, not technology itself.
As an open-source software work, MiniGUI is mature and successful in technology; the only failure is business: Feiman Software has not achieved great development due to MiniGUI. I believe that aside from the business, it is still possible to find a way to keep MiniGUI going.
I have recently focused on thinking about how to develop MiniGUI. Later, in the WeChat group of Teacher Song Baohua (a well-known Linux kernel expert), Song teacher asked me for a draft, and I decided the title of this article: "MiniGUI's Nirvana Rebirth Road."
Let's talk about the easiest to talk about: technical aspects
In terms of technology, in the software stack surrounding MiniGUI, we should focus on the following three aspects:
At the bottom, do some work to adapt to the latest hardware and Linux kernel technologies (mainly GPU, OpenGL ES, Open VG, and Direct Rendering Manager). In MiniGUI 3.0, MiniGUI supports virtual buffer rendering in units of processes. By using a specific graphics engine, a single process can be displayed on a separate display surface (Surface). Based on these two points, combined with GPU rendering, you can achieve the UI effect of smartphone operating systems such as Android and iOS.
In order to facilitate the development of MiniGUI applications, it is necessary to develop an integrated development environment, explore more advanced programming interface packages, and even use scripting languages to write MiniGUI applications and even general embedded applications. The development of mGNCS and miniStudio during the work of Dong Feifei is a very good attempt and can be used as the basis for continued development. However, due to the development of mobile Internet in recent years, C/C++ developers are becoming scarcer. If the new programming framework still uses C/C++ as the programming language, it will have a great impact on the promotion of products or technologies. As a tool, you need to consider lowering the entry barrier for developers. In addition, the new programming interface package should not be limited to GUI programming, but should be integrated with other parts of embedded and IoT device development under a unified application development model. In this regard, the server-side JavaScript framework Node.js developed in recent years is a success story that can be referenced. Of course, the development of embedded or IoT devices has resource constraints. It is difficult to make some trade-offs in terms of development efficiency and program performance. But this may be a place for innovation.
Work with other open-source projects with MiniGUI as their native support option, such as WebKit. On the one hand, it can develop key application software on MiniGUI, on the other hand, it can expand the ecosystem of MiniGUI and get more people's attention.
The above-mentioned technical aspects of the unfinished business, as long as there are developers, in time, can be made. But the most troublesome is who will raise these developers, or, where is the money coming from?
If it is a business, what should I do?
After so many years of relying on technology to start a business, I found that it is the most difficult to do business by technology alone. I have to be saddened by any traditional business model, such as opening a restaurant, acting as an agent, and so on. Everyone knows that in the Chinese market, the value of software is often underestimated. The era of making money by selling copies of software is gone forever, so China has never spawned a giant like Microsoft. In such a big environment, Feiman can rely on MiniGUI for a single business for more than ten years. After MiniGUI stops updating, there is still some income, which can be said entirely because of luck. But everything has a double-sidedness. The exploration of Chinese companies in the Internet business model has promoted the rapid development of enterprises such as Tencent and Ali. So, here I can explore a hypothesis: If I can come back, what kind of model would I choose to do the MiniGUI business?
First of all, I will not naively believe that the MiniGUI business can achieve hundreds of millions of annual revenues. I think the annual revenue of 10 million yuan is good for such a software.
Secondly, I believe that the dual-licensing business model adopted by Feynman Software before 2010 was correct. It was the correct choice under the conditions at that time and accumulated funds for the further development of Feynman Software. But in 2010 or earlier, business model adjustments should be made (of course, if I don’t think that the life cycle of MiniGUI is over, this is a limitation of the eye).
Finally, around the business model of MiniGUI, the correct approach should be: use the advantages of open-source software, continue to expand the user (developer) group, maintain a small-scale (10 to 15 people) software company, to ensure that the company can survive for a long time. In this case, wait for the market to change, look for opportunities to break out or be acquired.
As far as my current situation is concerned, my energy is not allowed to form a complete team to operate MiniGUI and do it as a business. But here, I can give a business model for reference. Of course, this business model is also available for reference to basic software startup teams such as RT-Thread and SylixOS:
Use Apache licenses to release basic software (such as operating systems, libraries, etc.) and do not use GPL/LGPL and other terms. This will allow you to quickly get the most out of your business applications and increase your market share. Be aware that if Android is released under the GPL license, it is absolutely impossible to achieve such great success.
Provides development tools for a fee, such as MiniStudio’s integrated development environment, miniStudio, and provides licenses based on the number of developers and years of use. Open-source tools are not very meaningful, but such tools run on desktop computers, so you can control their licenses through the cloud, and you can distribute some paid modules or provide technical support services through the cloud. In this mode, the cost of selling the tool software becomes very low, and the user can even place an online order on the webpage and obtain a license by mail.
If we adopt the above business model and develop and maintain 500 paid developers globally through appropriate promotion, we can basically support a small software company of 15 people. If the promotion is effective, it is possible to reach an annual sales scale of 10 million yuan.
53 Modular Jack
53 Jack.We are manufacturer of 6p6c Female Connector in China, if you want to buy RJ11 Jack Full Plastic MINI,6 Pin RJ11 Modular Connector,RJ11 Jack Full Shielded please contact us.
The RJ-45 interface can be used to connect the RJ-45 connector. It is suitable for the network constructed by twisted pair. This port is the most common port, which is generally provided by Ethernet hub. The number of hubs we usually talk about is the number of RJ-45 ports. The RJ-45 port of the hub can be directly connected to terminal devices such as computers and network printers, and can also be connected with other hub equipment and routers such as switches and hubs.
6p6c Female Connector,RJ11 Jack Full Plastic MINI,6 Pin RJ11 Modular Connector,RJ11 Jack Full Shielded
ShenZhen Antenk Electronics Co,Ltd , https://www.antenk.com