头图

foreword

Most people who make products skip a pit: I have a good product idea, and I only need a programmer to help me realize the programming.

In fact, from the product idea to the launch, it needs to go through a very complicated process. The logical process of the details is the difficulty. The idea cannot be implemented and it is not valuable.

The author of this article, Li Xinchun, was the champion of last year's RTE 2021 programming challenge "SDK Application Innovation Track". In order to avoid some detours for this year's contestants, we invite him to combine his previous project experience and competition experience to talk about having a very good experience. After a good idea, how to make the idea not only stay in the mind but actually land in real life.

The "RTE 2022 Innovative Programming Challenge" initiated by Shengwang officially opened on July 7, with a total prize pool of 200,000, and the maximum prize for a single team can reach 100,000! Click to learn ☞☞☞ " Contest Details & Points Incentive Program "

The following text:

First of all, it is a pleasure to share this. Last year, I was fortunate to get the first place on the track by the admiration of the judges. It coincides with the start of this year's challenge. I hope that I can summarize my small success last year into experience and share it with every contestant participating in the competition.

The topic I share is " Being a Prototype Designer of Creative Life ". Each of us may have various ideas and ideas in our lives. I will first sort out how we stimulate creativity and ideas in the sharing. , and how to realize the rapid landing of ideas through some methods and tools.

01 Creativity comes from self-esteem

The so-called creativity is largely our self-esteem. But Zihi is not just wasting time, but thinking deeply after having an idea, thinking about how to complete the creation of the product and the realization of the project.

So where might our usual creativity come from? I sorted out the following three points:

● life summary

We will encounter all kinds of things in life, and in the processing of various things, we will have a flash of inspiration from time to time. For example, I want the humidifier to automatically detect the room temperature and humidity of the environment to achieve dynamic adjustment; in order to see my cat at all times and know where my cat is, I use a monitoring and a set of algorithms to identify and find my cat.

图片

● work practices

People in all walks of life will encounter a variety of needs, and in the process of solving the needs, they will let their creativity fly. When I participated in the competition last year, I came across an idea - "Guide to Fishing", which realized an online virtual conference room through the product tools provided by Shengwang, and held a meeting with myself. Although it is not very recommended, occasionally we can find some similar ideas and ideas to improve our own happiness and add some fun to life.

● Technological progress

Technology changes life, and various new concepts emerge in an endless stream to provide a rich soil for our creative innovation. Now there are many applications of augmented reality and AR/VR, as well as virtual anchors, metaverse, 5G high-speed network, etc., as well as various DIY electronic components and equipment, providing us with a fast channel to realize ideas and creativity.

02 Problem analysis, build original solution

When we have an idea that opens our minds, how do we analyze it and then build a solution? This process is actually the process from self-hit to actual landing.

1. Creativity takes root

Good memory is not as good as bad writing, good analysis makes good creativity. If you want to take root in your creativity, here are three softwares I recommend:

XMind

图片

Xmind is one of the software I often use. When I have some ideas and ideas, I will use this software to do the first step of sorting out. XMind's mind map structure consists of a central theme, with major branches radiating from the central theme. In addition to the basic mind map structure, XMind also provides organizational charts, tree diagrams, logic diagrams, and more.

For example, if I define a smart home system, then I must first define the form of my equipment and applications, then what capabilities I have, and how to implement it step by step according to the path. With XMind I can quickly brainstorm my ideas.

● Axure RP

图片

This is a rapid prototyping tool. Whether in the form of web or small programs, you can quickly visualize your ideas through Axure RP, build a prototype to test the solution and collect feedback, share with the team, iterate until found correct solution.

Ink knife / Ike, etc.

图片

Shared office software like Moknife and Mocko provide us with faster and simpler solutions to improve efficiency, enhance collaboration, and optimize processes. Smart annotation, one-click image cutting, full-view sketchpad, various annotations, interactive prototypes, and attachment support, from product to development, all you need is one document.

2. Product analysis

Using tools to turn ideas into products requires some product-level analysis. I have listed 4 dimensions of analysis:

Business feasibility

A business feasibility analysis is the first step. Where did my idea come from? What problems were solved? Who are the audiences? What kind of effect can it bring after landing? Through these levels of analysis, we can strengthen our own recognition and information for creativity. A good idea usually has a better presentation after a feasibility analysis. If the results of the analysis are not satisfactory, detours can also be avoided through analysis.

Technical feasibility

After the idea comes out, we need to think about which technologies we need to use. For example, in the field of smart home, AIoT devices are required, efficient transmission of audio and video, visual presentation, client development, etc. are required.

In addition to analyzing what technologies are needed, this part of technical feasibility analysis also needs to analyze whether you have mastered these technologies, such as basic code capabilities, interaction design capabilities, UI design capabilities, architecture design capabilities, and so on.

● Economic feasibility

Taking participation in this competition of Shengwang as an example, our economic feasibility analysis needs to be considered for both individuals and teams. Are the costs manageable? Do I need to purchase additional hardware equipment? And whether the value of the product is worth the corresponding investment? Whether there is a profit model and so on.

Social feasibility

The so-called social feasibility refers to whether the product can be recognized by the public, and how we promote it so that our product can become a product that is accepted by everyone. Another important point is whether it conforms to public order and good customs, and illegal things cannot be done.

3. Solution design

No matter how big or small, it is first complicated and then simplified. After completing the analysis, we need to design the solution first. The following picture is an idea design of the smart home platform when I participated in the competition:

In the design process, I considered the use of the cloud network base, and considered which sensing devices and network settings to use; the middle-end empowerment part uses AI for algorithm analysis, so which algorithms should be used? How to build the middle platform, how to manage access, etc.

In addition, in the application service part, we need to consider which main functions our service is related to. For example, remote assistance in furniture scenes, guardianship of the elderly and children, etc. Is the presentation method APP, applet or H5? Or directly embedded in a third-party platform?

In the process of solution design, the analysis of various dimensions in the product analysis stage is actually integrated, thereby realizing the construction of the solution.

4. Balance and trade-offs

图片

Balance exists between all things. Regarding this part, after the solution comes out, we will think about whether it is really necessary for us to carry out such a complex design? We need to break down, sift, and prune our brainstormed ideas, considering what features we don’t need? Which features are core features?

For example, if we want to communicate audio and video, first of all, surveillance cameras are necessary, the underlying SDK and application software for video transmission are necessary, and the display on the platform is also required, which requires balance and trade-offs.

It is impossible for us to directly complete a very complex implementation in the process of rapid implementation of ideas, which will lead to very high costs. Therefore, we need to quickly implement ideas within a limited time and cost.

图片

After the preliminary preparations are completed, we need to choose a suitable road to actually land according to our design.

1. Sort out design ideas

图片

The meaning of combing is to find out how to achieve the goal in the fastest way . Here we also made a hierarchical table, which is divided into four levels: equipment, mid-stage capability construction, product design and users.

The first is equipment. I believe that many contestants are engaged in the hardware industry, so they can use their own hardware equipment directly. Some friends who are not familiar with hardware can use semi-finished products or some mature products. For example, smart glasses, there are many devices that can be directly connected and used only by software programming.

After selecting the equipment, it is necessary to think about the construction of the capacity of the middle and Taiwan. There are many relatively complete market-oriented platforms, and project development can be realized by direct access. Some semi-self-service platforms can provide various SDKs or professional capabilities in certain aspects, and can also realize the construction of rapid platform capabilities. Which platform to choose depends on the size of the team and the specific planning.

At the product design level, it is necessary to consider whether the product is to expand, improve, or completely innovate on the basis of existing products. Let's take the RTE programming competition as an example. Both the official and previous contestants have provided a lot of good ideas or works. Based on these projects, some optimization or functional supplementation is also one of the ways to quickly implement projects and ideas.

The last thing that needs to be sorted out is the user level. It is a very vertical small circle of users, such as IT groups, design groups or pet communication groups; or industry users serving a certain field, such as transportation, medical care, etc.; or serving all users, everyone can use, This matter also needs to be sorted out and considered in advance.

2. Extreme simplicity

图片

Remove embellishments and grab the center of gravity. After choosing a path, we have to consider how to make a more minimalist design on this jump.

The first point is linear thinking. The straight line between two points is the shortest. If we only want to quickly realize from 0 to 1, we need to think forward when thinking about how to get through.

The second point is to simplify the design. Because only the forward pass is considered in the early stage, compatible designs such as round trips can be temporarily ignored, such as error reporting and exception handling. After the road runs through, if there is more time, a simplified design will be carried out to reflect more rich functions and contents.

The third point is also more important, equivalent substitution. Equivalent substitution is mainly to solve some problems that cannot be solved temporarily and cannot be overcome. For example, I prefer to use C or C++ for programming, and I don't know enough about Java and Python, so I lack the ability to build some websites. Therefore, it is necessary to consider how to complete the realization on the basis of my existing ability, and realize the equivalent replacement for the ability that I do not have.

For example, if I don't have a team and experience in website development, I can use it as a client first and implement it with CS architecture; for network requirements, I can realize network connectivity by editing simple PHP scripts; in hundreds or thousands of concurrent Under the circumstance, the processing flow through the client plus the network request and finally to the local implementation can be realized, and the software design can be completed by the equivalent substitution method without affecting the actual use.

04 A small case

Finally, I would like to take our previous entries as an example to share the process of this project from idea to implementation.

Our project at the time was a smart home management platform. The reason for this idea is because I am a relatively sloppy person in life, often forgetting things and not finding things. In addition, the weather in Shanghai is so hot now, I really want to turn on the air conditioner and humidifier before going home.

图片

Of course, there are many smart home platforms with this function, but there are some security issues involved, because data transmission needs to be connected to the Internet, and I don’t want to expose the information commonly used in the home to the Internet. So I want to build such a platform, which can realize my monitoring of the interior of the home, the perception of environmental status, and some remote control and automatic adjustment. For example, how much the room temperature in the home exceeds or when it reaches a certain time, the air conditioner will automatically turn on; monitoring the movement trajectory of the cat in the house through AI, and drawing it down to make a trajectory map can be regarded as adding a fun to life.

图片

So in the last competition, we built such an idea into a smart home management platform. Realize control through wearable devices, smart home devices, and video surveillance devices. And we DIY a smart car, which can be inspected at home.

In the actual development process, I used two types of video surveillance. The first type is my own DIY trolley. The trolley is equipped with a surveillance camera. I can control it to run around the house and conduct patrols.

The second type of surveillance is surveillance video within the local area network. I can get this part of the surveillance video directly by binding IP or streaming, and then conduct internal monitoring. Of course, I can also connect more cameras through USB to increase the monitoring of a certain location.

图片

In addition to these hardware devices, I also used the sound network underlying SDK to realize the transmission of audio and video, and the sound network crystal ball platform to manage traffic, video and connection status. Finally, all kinds of information are analyzed and displayed in real time, and finally the visualized platform as shown in the figure above is realized.

Because the platform is networked, I can add external video streams and data access at any time as needed. An interesting point is that at the monitoring level, in addition to the conventional portrait recognition algorithm, we also added a cat recognition algorithm.

The overall project, as I said before, was done with linear thinking and extreme simplicity. In the actual development process, I deleted a lot of functions, such as environmental awareness, access control monitoring, etc., which are included in the plan, but did not develop related functions, but such functions and the access of surveillance video equipment The logic is the same and can be added at any time if necessary.

If there are companies or participating teams who think our products are very interesting and are willing to work together to enrich and expand, we are also very welcome.

Q&A

1. What do you think is the biggest difficulty in implementing creativity?

Li Xinchun: I think the biggest difficulty is to do it. Everyone is very fast when they open their minds and think about ideas, but when they really want to land, they will encounter various problems, such as insufficient programming ability, not every technology stack and so on. It was a big problem for me at the time. Encountering this kind of problem, my suggestion is to find a partner and gather everyone's strength to complete it.

Another point is the simple development idea. Start with a very rough concept to get through the overall project, and then refine it frame by frame. This is equivalent to reducing the development difficulty of getting started, so as not to suddenly interrupt your own thinking.

2. What is the biggest gain for you from participating in the competition?

Li Xinchun: To put it bluntly, there will be a lot of bonus income. In addition, Shengwang has provided very strong support for the overall competition process. In addition to helping participants complete the project, it can also help to understand other related products on the market and expand their understanding of new technologies and applications.

During my several contacts with Shengwang, I learned a lot of information that I didn't know before. For example, the sound network has achieved low latency in the audio and video field, and can basically achieve good results in the 4G network state. With the help of 5G, the perceptible delay can be basically eliminated. In addition, in terms of development, Shengwang first provides a platform, and will provide developers with a long free use time, which is a great improvement for me when planning the platform. You can also register an account of Shengwang, and take a look at network management, user management, and authorization management. I believe it will bring you some improvements in system planning.

About "RTE 2022 Innovative Coding Challenge"

RTE (Real Time Engagement) Innovative Programming Challenge is an annual online hackathon held by Shengwang since 2019 for RTC (Real Time Communication) developers, programming enthusiasts and geeks around the world.

In this competition, we are divided into 2 tracks. Track 1 will continue to use the classic title "Soundnet SDK Application Development". At the same time, this year, we also specially launched the new topic "Scenario-based Whiteboard Plug-in Application Development" for Track 2, which provides developers with a more focused problem-solving direction and explores the boundary between scene applications and technical capabilities.

The "RTE 2022 Innovative Programming Challenge" officially opened on July 7, with a total prize pool of 200,000, and a single team's prize up to 100,000 ! Scan the QR code to add the contest assistant and get the customs clearance secret~

图片


RTE开发者社区
663 声望973 粉丝

RTE 开发者社区是聚焦实时互动领域的中立开发者社区。不止于纯粹的技术交流,我们相信开发者具备更加丰盈的个体价值。行业发展变革、开发者职涯发展、技术创业创新资源,我们将陪跑开发者,共享、共建、共成长。