Jump to content

Invision Community Blog

Last time I talked in very broad strokes about how we developed IP.Board 2.2, today I'm going to go into detail on exactly how the new profile system evolved from concept to the finished product you see today.

Our initial goal was to bring some of the social network concepts to the profile system, without going overboard and turning it into a myspace clone. This is a fine line we walk in adding any new feature, how do we make this useful without going to far? We knew that we didn't want to let users customize the CSS or HTML for their profile image, that introduces any number of security and other technical concerns. We thought about letting users move blocks around, to give them some amount of customization, but in the end that was dropped due to the time involved. Here's a portion of the spec we came up with this for this feature:




From that basic spec, Rikki created this mock up:



This is generally how we work with a major feature, we create a rough outline of the features we want to include and then create a mock up to make sure everyone is on the same page. This mock up is quite a bit different from the final product, but you can see most of the elements of the final profile in it. A lot of things changed, the location of the profile picture for example. While this design looks cleaner, it's also less flexible, what if the user wants larger images? With this mock up there isn't much room for that. Also the tabs are clearly different, while we liked these tabs, they did not really fit in with the overall design of IP.Board.

Here's an early shot of the profile system actually running:



This has much more of the final functionality included, even if the design is not quite there yet. You can see that we've already changed how the profile picture looks, as well as how the tabs look. Another major change is that the comments are displayed below the main content area, rather than on the right where they eventually ended up. This change was made for a number of reasons, if the main content area had a lot of information, you'd have to scroll to find the comments and could easily miss them. So we moved them, but added a tab to the content area so that you could view them there if you want.



This screenshot shows a few more changes, you can see the options to edit gender, location, and birthday inline with the profile view. You can also now rate the user as well as see their gender icon next to their name in the visitors/comments/friends block. The options drop down was also added to the top right of the name block, although it would eventually move to the left hand menu.

And here's the final result: My Profile

Through the entire process our staff is constantly reviewing the latest build of the profile and making suggestions. We also brought our test group in around the second screenshot you see, they provided valuable feedback that helped a lot in shaping the final product. They were given a few different builds that included the profile, before we announced the feature to the general public.

Not everything that we wanted made it in to the final product, that happens with essentially every single feature. For example, multiple personal profile photos did not make it, even though we really wanted that. You have to know when to call it a day though, or you'll never be done. We decided that the particular feature did not offer enough of an improvement over what we already had with gallery integration, so it was dropped.

That was another important concept for this feature, we had a lot of user information out there via our various components. We wanted to pull all that data into a central location, to provide much tighter integration and a better overall flow to our products. We also wanted to give mod authors the ability to easily add their mods to the profile tabs.

So to wrap this up, we wanted to bring a fresh look to the profile and at the same time move IPB forward by bringing in social networking concepts where appropriate. I personally think we did a pretty good job of this and we all hope that you agree. If you have any questions or want more info, please ask and we'll do our best to answer.
  • 1,893 views
Josh
I see this question come up once in awhile on the forums and I thought it would be nice to give you a little behind the scenes information on how we designed IP.Board 2.2.

When we map out a new release, we usually have a specific goal in mind for that release. This can be anything from increasing security, reliability, new features, or some combination of the three. For example, when we started mapping out IP.Board 2.2 the overriding goal of the release was to streamline the software and make it easier to use. We didn't want to focus on adding a lot of new features, we wanted to improve what was already there.

We spent a lot of time looking over every section of the forum and figuring out how we could make everything easier to use. We already knew most of the areas that needed improvement from our day to day customer service issues. We ended up with a huge list of tweaks, enhancements, and minor features that we wanted to include in 2.2.

With development of 2.2 now underway, we began discussing adding one major feature to the release to add a little flavor. We decided that the profile could really use a overhaul, it really had not changed much since 1.0 and was one of the more stagnat portions of the forum. In fact a new profile system was something we had discussed off and on for a few years and with social networks on the rise, it seemed a good time to finally make those changes to IP.Board. Also, while the profile system was certainly a massive change, it still was more or less inline with our goal of improving existing functionality.

We also selected a small group of customers to test 2.2 as it was developed and give feedback on the changes we were making. They were shown the profile system in a few different stages and their feedback was instrumental in the final profile.

All the while this is going on, we continue to closely monitor the feedback forum and keep an internal list of features we want to add to the board. This list basically breaks down into three sections: Include in this release, would be nice in this release, and to be included in a later release. Anything that fit in with our goals for this release found it's way onto one of the first two lists. Anything that did not, but was still a good idea, found it's way onto the third list. After 2.2 was feature locked, everything left was moved to the last category.

That's obviously a pretty broad overview of the process, but I think it gives you a good idea of how we handled 2.2. I plan to go into more detail on some of these points in the next couple weeks. If you have any questions about our development process, feel free to post them here and we may blog on it in the future.
  • 2,114 views
Josh
Everyone has actually been quite busy lately even with the lack of Blog and News announcements. We thought it time to post something here so you knew we had not all decided to take a month off or something.

After any large release there is a lot of "clean up" work to do like starting on small updates to fix issues or going back to some neglected projects and finishing them up. Our staff has been working hard to do just that and are nearly done and ready to move on to more exciting things.

As stated in a previous entry: we are working on the IPS Beyond enhancements and are quite excited about getting IPS Beyond upgraded. More on that in the coming weeks.

Don't forget that we are hiring! See the job postings announcements for details.

There is a lot of development resources being focused on the IPS Business product line. We will be posting the first official preview of this product line in the coming weeks. We are extremely excited about our approach to business services and are looking forward to releasing this entirely new product line.

Thank you to everyone who has given feedback and noticed our recent customer service improvements. We have another round of customer service improvements that will be phased in soon so expect things to continue to improve. We will also be posting a survey next month for existing customers and hope you can give us ideas.

That's all for this update - we will be posting again soon. Thanks!
  • 1,826 views
Charles
Just a quick note on support response times for those not on a guaranteed SLA:

We recognize and apologize for the recent slower than normal response times to support tickets. The release of IP.Board 2.2.0 is causing a huge increase in volume.

The influx of new tickets is starting to calm down and things should be returning to normal soon.

To speed resolution for your support tickets please be sure to include your login information in your original ticket. If you do not, the tech support team is forced to move on to another ticket which slows down the whole process.

Thanks for your understanding! We're working on catching up now.

As an example: from the date of this post, in the last 24 hours the tech support team has sent out 731 replies.
  • 2,283 views
Charles
Now that IP.Board 2.2.0 is out and being well-received we are going to turn our focus to IPS Beyond. If you are not familiar with IPS Beyond already it is our official customer resource site.

At IPS Beyond customers can enjoy an informal atmosphere in which they can receive customer-to-customer technical support, chat about the products, share tips and tricks, and more. There are also modifications available for download to extend the feature set of your boards.

Many ask why they should use IPS Beyond when tickets are available and the short answer really is: it's up to you. You can certainly use our ticket system if you want the response times quoted under your license type or if you prefer your assistance made in private directly with our staff. IPS Beyond is great for people that want to take our products beyond (har har) what they would normally do or need help in areas not covered by our official support.

Ok, definition done, now here are the upcoming plans:
The web site will become... a web site, so not all the features are interlinked with the forums Components provided directly from IPS! Some free some low cost. Premade skins directly from IPS to start off your forum customizations Greater recognition and rewards for those active members of our community who help others and provide modifcations/skins. Tighter integration between IPS Beyond and our company forums
Work has already started on the revamp. We will keep you updated. There are lots of details we are still sorting out so give the IPS Beyond team time to get the pieces together... you should be quite pleased.
  • 2,352 views
Charles
After literally years of paperwork and waiting on the government's United States Patent and Trademark Office to do its thing we have, at long last, a registered trademark. While our logo and name were always a trademark in the ™ sense they are now a registered trademark in the full on always fun
  • 2,057 views
Charles
Just a quick note to let you know that Alex Duggan's excellent CSS guide has been updated for IP.Board 2.2, and is now available on the site :) You can download it as a PDF, or use a web-based version. Both are available at:

http://community.ipslink.com/board/documentation.html

Thanks to Alex for his hard work on putting this together again, we know the community appreciates it!

Rikki
  • 3,193 views
Rikki
Laurel resting is an activity that is banned at IPS and for good reason.

While Brandon was busy working on the bug reports for IPB 2.2.0 back in the release candidate stages I managed to tick off another bunch of items from the IP.Dynamic to-do list. Here's a round-up of the latest features to be added.

Staff Calendar

We use an online calendar here at IPS to organize ourselves and to schedule meetings and other events and I thought that most other organizations would likely do the same, so it made perfect sense to add one into IP.Dynamic so that you can keep everything within one application.


4.5mb Quicktime Movie

Task Manager

Maintaining a website is a large and complex responsibility especially when shared with several other people. Some kind of task manager was a must to help keep staff on track and on schedule.


4.6mb Quicktime Movie

Personal Topics

This is like private messages, but better! The private message implementation found at IPB emulaltes the email system. You can PM one member and CC in others. The problem with that, like email, is that there is no real way to have a discussion with more than one person without a lot of copy and pasting.
Enter Personal Topics. They behave in a similar manner to IPB topics with the topic starter becoming the moderator for the topic giving them the power to remove and block members from the topic.


6.4mb Quicktime Movie

Content Versioning

Every good CMS must be able to store versions of content and even more importantly roll back to them even when they've been deleted from the content repository. Unfortunately a lot of so-called CMS software doesn't have this functionality.
Fortunately, IP.Dynamic isn't like most other CMS software! IP.Dynamic versions pages, system templates, content templates and content blocks. It's a modular system so one can write ones own modules to add versioning to any area of IP.Dynamic.


9.6mb Quicktime Movie.
  • 2,198 views
Matt
If you're like many readers, you likely think that now that the 2.2 and site launch is complete, we're going to simply sit in our cushy executive chairs, ending our hunger for world domination. Oh how wrong you are for we at IPS are never satisfied!

To the contrary, we've been working on several new things behind the scenes. Some you may not immediately notice, such as the addition of new employees and behind the scenes planning, developing and testing of upcoming products and services. Others you will soon notice with the introduction of services tied to our new state-of-the-art datacenter.

For many years we've leased rack-space, servers and equipment from various third-party
providers and while, on the whole, this has served us well, we've simply outgrown the server leasing model. To that end, we've secured and built-out space in a facility not far from us in Reston, VA. We now own everything, from the rack to the core routers (Cisco 6500's for those techies that are interested) to the servers themselves. This has allowed us to offer much more flexible solutions across the board, which you will soon find more details about on this very blog.

I'll refrain from boring you excessively, but suffice it to say we have a 10 meg, multi-homed redundant uplink to various transit providers including Level 3, AboveNet, BTN, GlobalCrossing and Cogent. If you've noticed, the IPS sites and forums have never been faster since we migrated our corporate servers to this new facility.

That's just a brief overview of what we've done. Wait until you see what's next. VPS anyone?



  • 2,462 views
Lindy
So Charles doesn't feel so lonely here, I've decided to post an entry...

These past two days have been quite the change from what it has been recently. The number of tickets per day has honestly increased tenfold. But that is expected with a new release, right? Almost every ticket is getting a response within the first 24 hours of being opened, which is an amazing feat itself. We have knocked down the tickets over 50% from what they were this morning, but there is a steady flow of them coming in.

This has been one of the smoothest releases since I've worked here - most of the issues we are seeing are either server issues, or other issues that could have been avoided. That brings me to a couple of reminders.
See: Charles' post below.
There is a lot of confusion on the upgrade system. Particularly one setting that allows you to run the queries manually. It seems some users are selecting this, but not running the queries. This causes the board to think it was upgraded, when it actually wasn't. This can cause you to get 'IPS Driver Errors'. If you are comfortable with databases, you can fix this by removing the 2.2 upgrade rows from the ibf_upgrade_history table, and rerunning the upgrade without checking the box to manually run queries. We are working on ways to make this not an issue for future releases.

Be sure to check out our Knowledge Base.
We have been adding patches/information in that as we find issues. We also have a bunch of articles on pre-2.2 issues. So if you have an issue, please see if it is covered in the Knowledge Base. Most articles include patches that you can even apply yourself, so there will be no delay getting it fixed. Well, that is about it for now. To everyone who has submitted a ticket - we haven't forgotten or lost your ticket. We are going through them as fast as we can, and you will get a response as soon as possible. Thank you for patience with this during this busy time.

Off to go answer some more tickets. :)
  • 1,821 views
Keith J. Kacin
Already? Didn't we just release IP.Board 2.2.0?

Yes and yes. Ah, the nature of product development. We knew we would have to do an IP.Board 2.2.1 release right after releasing 2.2.0 so it is no surprise. Although we tested IP.Board thoroughly before release there is never a way to know what will happen once a product is released out into the world.

On the whole it's been very stable and we are quite pleased. Lots of odd little errors or issues specific to special server configurations. Some patches for specific conditions (like running on PHP 5.0.4) have already been added to our knowledge base. We are also going to add more clarification in 2.2.1 for frequently asked support questions that are not bugs but just confused areas.

While 2.2.1 isn't exactly an emergency we will die if it isn't released sort of thing, we will probably release it sometime during the week of Dec 11 so those people with the "odd" issues can be sorted. Also, the technical support team would probably welcome some integrated help on areas that are confusing some users :)

And speaking of support: the flood of requests with the release is starting to calm down so if you are waiting a bit longer than usual for ticket replies that should start to show improvement very soon.
  • 2,674 views
Charles
We had several meetings over the last couple months on improving the upgrade system for IP.Board 2.2 and it certainly has improved. The system is generally safer and warns you if something doesn't go right. Not to mention IP.Board itself will scan your database and report problems in the admin area.

Now that IP.Board 2.2 is released we are finding that although the upgrade routine works there is still some confusion. Particularly the manual upgrade routine.

So... note that if you check the manual upgrade option when running the upgrade system, the upgrade system will tell you what SQL queries to run. It will not run those queries for you as you told it you wanted to do them manually :)

Keith from the tech support team and Brandon from the development team will be getting together tomorrow and work on better explanations of the difference between the manual and automatic upgrade modes. The current plan is to implement the changes to the upgrade as a hot fix to 2.2.0 as the changes will just be instructions (not code changes) so no bugs could be introduced.

We always ask you to report bugs you find in our software but feel free to report things that work but are just a little confusing in our feedback forums. Part of making good software is also making it friendly to manage :)
  • 1,855 views
Charles
As most of the world now knows, we have released IP.Board 2.2.0 along with all its components (IP.Gallery, IP.Blog, IP.Downloads). The latest rounds of releases took a bit longer than the previous round as we took extra time in beta testing and being sure all of our proverbial avians were in an ordered queue. We think taking this extra time has paid off.

In one day we did all this:
Released IP.Board 2.2.0 Released IP.Gallery 2.1.0 Released IP.Blog 1.3.0 Released IP.Converge 1.0.0 PB 1 Launched our brand new web site Updated our IP.Nexus-powered client area Released the new IP.Board documentation Managed to keep our sanity during the process We decided this time to release the products "silently" the night before the official release day so those people who frequent our site and forums would get a jump-start. Of course it took all of 30 seconds for everyone to notice it was out. And people wonder why we do not publish release dates :).

So far probably our smoothest release especially considering all that happened in one day. Good work to all the IPS staff involved.

It's our goal to keep this company blog up to date between official announcements so everyone knows what is going on. We will also publish sneak peaks of upcoming software and services. Thank you for your business and interest!
  • 5,234 views
Charles