Home >Backend Development >PHP Tutorial >Web 2.0 Programming Thoughts: 16 Rules_PHP Tutorial
Web 2.0 Programming Thoughts: 16 Rules
Original text: Thinking in Web 2.0: Sixteen Ways
Author: Dion Hinchcliffe
1. Before you start, set a simple goal. Whether you are a creator or user of a Web 2.0 application, clearly frame your goals. Goals like "I need to save a bookmark" or "I'm going to help people create editable, shareable pages" keep your needs at the most basic level. The initial attraction of many Web 2.0 applications is their simplicity, which avoids and hides unnecessary complexity. From the creator's perspective, you can imagine Google's homepage with almost no content, and del.icio.us's simple lines. From an end-user perspective, the most synonymous with this is the initialization page provided by Diggdot.us. You can and want to add more features, but get the first one right. Only work on one feature at a time to achieve one goal. This sounds very simplistic, but it will make you more focused, and you'll see what I mean.
2. Links are the most basic idea. This is one reason we call it the Web. Links are the most basic elements that connect various entities in the Web. Your information, your relationships, your navigation, even anything that can be written as a URL. Here is a rule that links should follow (in fact, you don’t have to strictly follow it):
1. Anything on the Web can be connected by a URI or URL.
2. Save all links as their original source, so you can share it with anyone, anywhere, at any time.
3. The premise at any time in Article 2 is that the link must be persistent and it will not be changed or disappear without any reason.
4. Links should be human-readable, stable, and self-explanatory.
3. Data should belong to the person who created it. Yes, you listen to me. Anything users create, contribute or share is theirs, unless they explicitly waive this authority for you to freely dispose of. Any information they contribute to the Web should be editable, deletable, and unshareable at any time if the user wishes. This also includes indirect data such as records, logs, browsing history, website visit information, or any information that can be tracked. All websites must clearly and simply state which information is created by users and provide ways for them to stop creating it, or even delete it.
4. Data comes first, experience and functionality come second. Whether it's text, images, audio, or video, the Web ultimately parses it into data. In other words, you cannot present content without data. All this data is located via those easily discoverable URLs (see item 2). To look at this in another way, the Web is ultimately noun first, verb second, although there is a recent shift toward verbs. Let’s look at examples of nouns: calendar entries, family photos, stock prices. Here are some examples of verbs: Make a date, share a picture, buy a stock.
5. Be prepared to actively share everything. Share everything you can, all the data you have, all the services you provide. Encourage use that does not follow the original intention, encourage contributions, and do not insist on keeping content that needs to be shared private. After sharing and discovery, providing easy-to-use browsing was an obvious need. Why: Having said that, you will benefit greatly from others sharing. Note: There is no license here to violate copyright laws. You cannot share your burned DVDs or commercially copyrighted music because you have agreed not to share them. But you can discover and share media content that is completely open. A small suggestion, you can learn the Creative Commons license (co-creation agreement).
6. The Web is a platform; let it grow. Of course, we have many other platforms (Windows, Linux, Mac), but those are no longer the focus. In other words, the Web is a platform that cannot be separated from, a platform that will not be interrupted, and a platform that you can expand in various ways. The data and services you provide on the Web will become part of the Web, and eventually you will play your role somewhere on the Web platform. Play your role and take care of those who come after you.
7. Understand and believe in "stepping". Today's Web is getting bigger and bigger, spreading to almost all countries in the world, and already has 1 billion users. My point is that the various components of the Web are subtly different and different, just like users in different places. For example, in the design part of the Web: ease of use always takes precedence over speed, reliability, reusability and integrability. You should also provide the same experience to your users. It has been emphasized time and time again in the documentation that loyal users will soon become professional users who expect faster speeds and more. Take a step back and support them. Likewise, there are many, many users who will make it to the bottom of the ladder, as you would expect. They may not speak your language, be familiar with your culture, or even know how they got here. So you need to make it clear to them.
8. Everything is editable. Or maybe it should be woven better. The thing to make sure is that there are very few things that can't be edited, the rest can, this is a writable Web. This does not mean that the original content is lost, but is usually understood to mean that the user can easily comment on the content, or that the comment is found there. If you apply this well, they can do more than you think (string content together and give raw content to create your own, etc.).
9. Identity on the Web is sacred. Unfortunately, this doesn't mean you get more privacy (that's a completely last-century idea). But verification of identity is necessary, and you should be grateful for services that can identify you with just an email address. This means that as long as you are committed to your users, you must ensure their privacy security. When necessary, somewhere in the world you have to stand up for your users and challenge local authority. If you're not going to do that, you have to tell your users what's actually going on. On the other hand, if identity is necessary, don't try to disguise it, or one day we will give up our last vestiges of privacy on the Web.
10. Understand popular standards and use them. From a consumer or creator's perspective, data will be exchanged with anyone in different formats. At the same time, such data will in turn promote the improvement and adoption of standards. This usually means the popularity of simple standards like RSS, OPML, XHTML, Simple XML, JSON, etc., and avoiding SOAP, XSD, but also RDF, ATOM, using them brings pain to my heart. Please support your favorite standards by voting for them.
11. Follow the rules of unintentional use. If you open up and share very interesting data and services in a widely used format, you will get what you deserve, and others will build on your piece of the Web platform. You may get more from others, so it's better to prepare for this. I can't tell you how many times I've seen a podcasting service go down in popularity because they were picked up by Slashdot and del.icio.us. Here’s what you need to know: The sheer mass of the web means that if a piece of content is really interesting, even a small corner of it will get a surprising amount of traffic. This approach is encouraged and can be very valuable as long as you are prepared.
12. Granularize your data and services. We should have understood this a long time ago that large-scale integrated data is only suitable for unmanaged downloads and batch operations. Break down your data into self-descriptive URLs, and do the same for your services. On the other hand, you don't want to create some huge, complex, Christmas tree-like data structures and services. Keep it simple, very simple. Let these separated pieces be easily reorganized and discovered.
13. Provide data and services that users can benefit from individually. There's a risk in becoming dependent on this kind of social engagement, and you need to give your users a modicum of incentive to contribute time, enthusiasm, and information unless they can directly benefit. The benefits of social sharing are much greater than individual actions. Unless you can stimulate users' personal motivations, you will not be able to enjoy this gift.
14. Allow users to organize and filter information. Not necessarily required, but very important. Let users label and organize data in their own way, because you'll never be able to process it yourself in a timely manner. Users will process and build in the way they understand best. Make sure your web service works the way users want it. This is a major factor in why tagging and folksonomies are so successful.
15. Provide rich user experience. The Web has always been in fierce competition with native applications. Why? Because local programs still feel better and faster. But this won't last long (I'm sure in 5 or 15 years, this kind of competition will no longer exist). Yes, I'm talking about Rich Internet Applications, Ajax, and those incredible interactive applications. They make the Web a truly "platform-less" platform, if you know what I mean.
16. Believe in and support rapid improvement and feedback. This often means moving faster, but it also means using lightweight tools, techniques and not making painful decisions that are counterproductive (such as using an Ajax framework wrapped in layers instead of something that can be achieved through a mixin, or using Build everything in C++, it would actually be better to use Ruby). This also means that there needs to be a very fast way to handle error reports, fix bugs, and release new versions. From a user's perspective, reporting any issues you find, as well as areas where you frequently complain, is not even a bug.
Of course, Web 2.0 is an extremely broad and profound topic, and no one person can list all its highlights and characteristics. If you're interested, please take a moment to fill in what I didn't mention. I think this is the participatory nature of Web 2.0!
The title of the original author draws on the names of two best-selling books by Bruce Eckel: "Thinking in C++" and "Thinking in Java", "C++ Programming Thoughts" and "Java Programming Thoughts". Please explain here. Let me explain why this title is translated in this way:)
indigo translation