Reason
Why is this software (mini Weibo) required? In fact, I have always had such an idea. Later, when I shared some internal technology, the boss asked everyone if they had any idea during the relatively idle time. Some people mentioned that they wanted to do something cool. At that time, music + was born, so they came up with the idea of doing lite Weibo and started development in the idle time, the current version. The functions are basically complete, and you are not ready to add new functions.
Mini Weibo pursues a consistent user experience with the system. The goal is to provide a better user experience than Weibo in system contacts. There are only two sets of system themes: black and white, individuals prefer a white topic (you need to set the system topic to Light ).
Features:
1. Message Center, making it easier to view various messages
2. Weibo square. When bored, let's see what everyone is doing.
3. View and send multiple images
4. Browse the Weibo group and send it to the specified group.
Don't ask me what is the difference between this software and the official client. They are all their children.
You can watch the video recorded by @ Chen Xiaozhi and thank him for taking the time to record the video.
Why not use WP7.x?
As a matter of fact, when I started to develop mini Weibo, the first project to be created was the 7.1 project file, and a simple version was also developed, provides the basic functions (main information flow, message center, Group microblog, search, and comment posting and forwarding) that are essential for lite versions of Weibo ). The running effect is a little smoother than the official Weibo client, but the experience is indeed not as good as imagined. The official Weibo client has done a lot of optimization work, there is also a good user experience on some low-end machines.
Since I bought 920, I gave up development 7. the idea of Version x is that after the code is migrated to wp8 and deployed to version 920, it is found that the user experience is completely different from that of HD7, so it is more determined not to do it. the idea of Version x. (Users of 7.x should not be surprised. You can use the official Weibo client, and the experience is quite good)
Product Manager? UI resources?
Why do programmers turn to products and decide their own things, so they no longer have to endure the unreasonable requirements of products? Don't take it seriously, just say it.
Weibo mini is developed by myself, and I have the final say about everything. Well, how to do it easily during development is really good.
Product managers of Windows Phone are generally transferred from Android and iOS. They have a certain mindset on the design concepts of Android and iOS, so you can find the same app in Windows Phone Store as iOS.
Sometimes, the design of product managers is not as good as that of front-line developers. programmers often deal with various applications and have more ideas and experiences on Windows Phone application design, in some cases, we have to argue against unreasonable designs. The interesting article we see on Douban.com is that we all hate product managers. In fact, product managers are not easy. In the team, we need to face the hatred of various roles, such as development, testing, and UI, I will not continue to hate it.
For UI resources, Weibo mini draws on the excellent page layout in the official client and uses some image resources, more of which are Icons and vector images from Modern UI Icons. Of course, I also use Expression Design.
Here we will introduce some of my frequently used UI resources: easyicon, loveui, mobile-pattern, fanggeben, dribbble, And Petal.
Some development experiences
1. "Kill" Appbar
ApplicationBar is a monster independent of the three realms. It cannot be bound like a UIElement (although implemented by a third party). In addition, various problems occur during the Insert of Buttons and Menus.
For the application of Information Browsing such as Weibo, there is a row of Appbar below, which always takes up page space. Therefore, you rarely see Appbar on mini Weibo. Don't be surprised, because the author hates it very much.
The alternative method I chose is PathMenu on ios and android. Refer to the radial menu Implementation Method of js. If you are interested in JS, you can refer to the source code, which is not difficult to implement. Of course, some friends have achieved similar results on windows phone and made it open-source: Awesome Menu
2. Make good use of CustomMessageBox to avoid page jumps
In the post-wp7.x era, CustomMessageBox was added to Microsoft's official Toolkit. I really like this control too much (although there are some known bugs) and it is also widely used in Weibo mini. Mobile applications should allow users to perform the least operations to complete a task.
3. Use WebBrowser as the big Image Viewer
4. Use the async class library to share code between wp7, wp8, and winrt
5. Network request compression (gzip compression is about 1/6 of the previous)
Network requests if the server supports compression transmission, the client needs to use compression requests. SharpGIS. GZipWebClient can be used.
6. Use more system theme resources, such as PhoneForegroundBrush
7. Use ProgressIndicator as the network request prompt or long task progress prompt
I once wrote a blog to introduce a ProgressIndicator help class, which is also the technology used for all progress prompts on mini Weibo.
8. Use LongListSelector to replace ListBox
LongListSelector virtualization is better than ListBox, and sliding is smoother. You Can slightly encapsulate LongListSelector into a control automatically loaded by sliding to the bottom.
9. HttpClient for network requests
10. Write simple and elegant code
Some Programmers sometimes write a large amount of code at will to quickly implement a function, and then run it once, so they continue to implement the next function, and then execute a lot of code. So after all the functions are completed, he thought about restructuring, but found that he had no way to start. When writing code, you need to avoid this habit. My approach is to divide functions and implement them one by one. Each function is implemented with code reconstruction and Review of different degrees, in this way, code can be sorted out as soon as possible. When similar functions are compiled in the later stage, the previous code can be reused without many changes.
11. Reasonable Use of transition Animation
I once shared an animation topic during internal technology sharing and applied the animation effect to practical applications (music + ), adding some transition animations to an application will make your application look smoother and more appealing to users. Of course, the animation after the system mail is successfully sent is used in mini Weibo.
Postscript
Due to many objective reasons, the program cannot be uploaded to the Microsoft market. Please forgive me (well, I didn't plan to upload the program to the market at the beginning, and I just needed it ), only some wp8 phones that can deploy xap packages can be used.
Do not leave a message saying, "Can you send me the source code? "," Open Source ....
The purpose of this article is only to share some of your experiences when developing mini micro-blogs, give Windows Phone developers some inspiration, and hope WP developers can develop more high-quality applications.