Why is this distinction necessary?
We often complain that certain government websites are hard to use, that certain command-line tools are difficult to operate, and that certain chat applications are cumbersome. Clearly, the flaws behind these products share common characteristics. Such shared deficiencies often stem from common development and design patterns.
Understanding these patterns helps us make better-informed software choices in the future.
Internet Software
Internet software is typically developed by large tech companies with the primary goal of generating profit. This type of software often derives indirect value from a massive user base. It is generally not open-source. Development of internet software usually involves substantial investment to ensure an exceptional user experience in every detail. In real-world operations, it frequently faces sudden traffic spikes, requiring a high level of technical proficiency. Beyond technology, a strong marketing team and design team are required to work full-time on discussing and designing its strategic direction.
- Features: It handles simple functionalities quite well without any quirky use cases, but it lacks complex extensibility capabilities.
- Advertising: Ads are omnipresent. It tries every trick to drain your wallet and does its best to prevent you from leaving the product.
- Product: The product design is highly appealing; it is intuitive to use right out of the box. Interactions are generally friendly, and response times are fast.
- Performance: Performance is extremely strong, backed by tens of millions of dollars invested in building global infrastructure. It saves every possible second.
- Interface: The interface is clearly meticulously designed. It is attractive, clean, and straightforward. Under no circumstances will you be shown an ugly page.
- Price: It appears to be free, and it may even subsidize usage through aggressive advertising. In reality, it is the most expensive option.
- Privacy: Privacy? What is privacy? A CEO of a famous tech company: "Chinese people are willing to trade privacy for convenience."
- Updates: Updates generally require a platform to implement automatic updates. Typically, automatic updates do not introduce many bugs or security vulnerabilities.
Enterprise Software
Enterprise software is typically customized upon request by specific companies or procured directly. Such software is generally sold directly to generate value, so it is usually highly optimized in areas that facilitate its sale. For example, it often features a rich set of functionalities, an aesthetically pleasing main interface, and an easy learning curve. It is suitable for collaborative use by multiple teams within an enterprise and can address common management issues. However, to save on development costs, the internal details are often poorly implemented. Moreover, low-quality product design can make the software feel inconsistent and baffling. In actual operations, there are generally no sudden traffic spikes. Additionally, it may adopt a monolithic architecture, with maintenance windows scheduled weekly.
- Features: In complex areas, it can only be said to "work," but there are often inexplicable use cases and prompt messages, making it feel inconsistent. It is also remarkably powerful, possessing seemingly everything. It generally has decent extensibility.
- Ads: No ads.
- Product: Usually designed by a dedicated product manager. The functionality is powerful, but the interaction is unfriendly, with many areas being redundant and repetitive. The design is often inexplicable.
- Performance: The performance is terrible. Servers costing millions were invested in. It is mostly sluggish, often freezing at inexplicable points. However, it is not completely unusable.
- Interface: The few key main interfaces look quite good when viewed statically in isolation, but in reality, there are a huge number of detailed issues. Clicking around a bit makes it look very ugly.
- Price: Pay several hundred thousand first, then we'll see. Once the payment is made, you are the VIP, and we listen to whatever you want.
- Privacy: Compliance and security generally meet the standards, but there are a lot of actual issues. It is easily vulnerable to hacker attacks, requiring contact with the development team to fix within a few days. Generally, if the payment is sufficient, there will be no backdoors, and internal network deployment is usually possible.
- Updates: Updates generally need to be performed via an update program designed by the development team. Each update introduces a new wave of bugs; old bugs are fixed, but new ones appear.
Open-Source Software
Open-source software often originates from a developer's personal needs and operates within a community. Its source code is entirely contributed by resources within the community, which generally results in high code quality, leading to excellent performance, design orthogonality, and extensibility. It is particularly well-suited for solving specific problems. However, its drawbacks often include limited features and a higher learning curve, requiring extensions or integration with other software to achieve a satisfactory user experience.
- Features: If used correctly, it can effectively solve problems. The design is typically highly orthogonal and purist, with internal consistency. It is well-modularized and offers good extensibility.
- Advertising: Generally, there are no ads. However, developers occasionally run out of funds and might insert some at an unpredictable time. In some cases, developers might even be looking for a job.
- Product: There is no formal product design. The difficulty of use is relatively high. Powerful functionality often relies on combining multiple small features. However, when used appropriately, it can be very powerful.
- Performance: There is usually no backend. Occasionally, the developer hosts one themselves, but it is recommended that you host it yourself. Essentially, since server performance is limited, it relies entirely on optimized code.
- Interface: Interface? What is an interface? Functionality is entirely command-line based. If it looks too bare, they might just make a basic usable one. The UI is generally simple, but it lacks complex functional elements.
- Price: Of course, it is free. Occasionally, it may be listed in stores for a paid download. However, you can also compile it yourself for personal use, which remains free.
- Privacy: It may not have completed certain compliance, privacy, and security checks. However, since developers generally prioritize code quality when submitting code, it often has fewer security issues than enterprise software. It can generally be deployed entirely on an internal network.
- Updates: There is usually no reliable update mechanism; users are required to build their own update scripts.
这一分析将应用环境本身推论到了更深的层次, 在教育机构或者非专业人士的日程应用中,只是评论到一个应用好用或者不好用,网站好用或者不好用. 通常不会考虑将其进行分类,并按类型分析,这是个新的思路.
资瓷