Elgg ergonomics... Clunky menu systems and lacking an intuitive feel... answers?

I have been struggling with elgg for ages now, it has many strengths, but an equal number of weakness too (from my experience).  I had a number of flirtations with Drupal (hard), CMS Made Simple (not really), Joomla (very neat, but not for me) as well as several others and have settled on elgg because it can work for Groups well, and it is realatively straight forward to assemble a basic website.

But one of the biggest bugs I find whenever I use my site... and this site!! (not the greatest showcase for elgg, I fear) is the ergonomics of it.  This site is particularly bad...

  1. no login on the front page
  2. Facebook connect dissapeared from the login box a while ago... why?
  3. have to scroll down to the bottom of the "Plugins" or other boxs in order to select the "more" option.
  4. The stats box after I log in is always empty.
  5. The menu system is very clunky (if you drill down, you are stuck with using the back button or going all the way back).
  6. Create new Groups seems to have stopped working.
  7. and I am sure many of you have your own issues too...

In Joomla it is possible to configure menus on pages (from what I recall), so that you can choose to have or not have a menu, and then have sub menues as well (breadcrumbs) etc.

Is there any way we can have the same one day?  Sure I appreciate it may take a while, but how can we have better website navigation now? 

Is it possible to "plugin" a way to better ergonomics? If it is, then I would like to see this a priority, and I would be happy to contribute to a "development pot" to get it done.

  • abandoned

    While elgg has a fair amount of essential features of social networking built into the core, it has a long way to go in terms of user experience. There are a lot of inconsistencies in the standard plugins, never mind the community plugins.

    For example, why is the Publish button on the blog plugin in the left sidebar and not in the main content area directly below the text editor? And why does the "Write a blog post" header appear outside of the 2-column main content area?

    A style guide, as morgar said, is badly needed.

  • 1. posting problems and suggestions here is less likely to result in changes than posting to trac: http://trac.elgg.org/elgg/

    If you are hoping to get people behind your idea, maybe posting it to trac and then posting a link on the community site for discussion would be the best. Make sure it is something that deals with Elgg rather than something that is specific to this site.

    2. Elgg 1.7 is introducing a coding style: http://trac.elgg.org/elgg/browser/trunk/CODING.txt

    Much of the core code is being standardized to this style. If there are other changes in how things are done in the core that you'd like to see happen, please post to trac.

  • Though 1.7 has coding style guidelines, what I think would help in this case is a more generic visual styling guide.  This is something on my (rather long) list of things to talk to Pete about.  Ideally, we'd have public css primitives ("warning," "notice," etc), a few general rules about where UI elements should be ("No forms elements in sidebars"), and probably other Very Helpful Things.

    Though feedback is great, patches are even better.  We're not wanting for ideas, it's the implementation time that's the problem.  Patches to trac are the best way to turn ideas into core code, but please follow the guidelines to submitting patches: http://docs.elgg.org/wiki/Development/Contributing/Patches

  • It's always refreshing to see both Cash and Brett post in ONE THREAD together!  :-)  Cool!  Good to see you guys!  We are looking forward to that 1.7 final/stable finally roaring out of the gate!

  • :Jumps up on table and starts dancing!

  • This is great of course, but as Brett and Cash say, it is the coding of fixes being made to the core that are the bottleneck to progress.  Alas, this is where my brain runs out of steam, but I really hope that anyone who can code has a go ad doing something there for a few weeks rather than posting hot air here. 

  • I really hope that anyone who can code has a go ad doing something there for a few weeks rather than posting hot air here.

    We can only hope! :-) :-P

  • I probably have a couple of cents worth to add to the discussion.

    Since I got introduced to elgg, I have seen tens, if not hundreds of posts and messages about how complicated and unfriendly Elgg is to re-style or re-code. I agree, to a certain extent that the Elgg default look is not a very attractive site to look at. I also agree that coding elgg, whether it is the core or some of the mods and plugins, can be somewhat tedious. But I honestly cannot see the rocket science in any of it. I think if you learn your product well, then you become in control of it. You need to conquer Elgg in order to have it do anything out of the norm. When I first started working with Elgg, I sat there experimenting with the code for 4 months. And as I got to have a solid understanding of how it is structured, I became more confident screwing things up and fixing them.

    I know people expect the Devs to do this and do that, but just like me, the Devs might be under a ton of work that needs to meet deadlines.. Remember, there will always be more ideas than developers. In terms of design, well, I really don’t think you should worry. As matter of fact, I never bothered about any theme, simply because, I know, as a designer as well as a developer, I will take that thing apart and re-assemble it myself anyway. Re-write views, re-arrange elements, re-size things...etc. I do believe most people on this discussion are familiar in doing those things.

    I can tell you for sure, there many elgg users who managed to implement allot of fixes but never bothered with publishing them because they are busy and do not want to allocate their time to supporting a fix or a code re-write or have to hold someone’s hand through implementing their fix. Secondly, the Elgg team themselves do not seem to give resources for picking up users’ fixes and patching them. As Brett correctly says, diagnosing a problem is not the issue.. the issue is to have it fixed with a code. So..?? If I fix a code, and if I do not patch it, why don’t Elgg get onto it and patch it themselves??

    I posted on trac a couple of times, I never even got an acknowledgement. So, where to go..? I put my brains back into it and had the fix worked out.. but honestly, with clients like the Department of Education and Law Institute of Victoria, I cannot drop their work to give support to a user. I was recently able to identify the need for a user  to de-activate their own account. At the same time, I do need to use that feature for my clients, so, I am happy to be working on it and sharing it with everyone else, but in all honesty, that is only because I need it for my own work as well. And that is why I never charge for a plugin or a theme or any of that because I am already paid by my client. So please, don’t think it is always the Devs that have to come out and do stuff only because a problem appeared. There will always be problems and I shit you not, no matter how refined the script becomes, you will always have new ideas or find a broken code somewhere.

    I want to share an example with you on how flexible things can become once you understand them. But first, take my advice, think outside the square, use your imagination and more importantly, whatever is written in Elgg is only a guide, it is not rules. Do not ever think that you have to stick to the content that is fetched in any of the views provided by elgg.. you can call whatever data into whatever area... Do not ever think that pageshells are like where everything goes.. far from it.. You can have your spotlight display on any area of your page.. you can have your footer tell you if you have new messages, and you can have your topbar give your daily horoscope.

    One of the things that are needed in Elgg is re-thinking user interaction with the site. By that I mean we need to minimize clicks to move between areas and perform certain functions, we need better search, we need to involve our site users with the site on more than one level at the same time.. We simply need to provide the end user with better experience and more convenience.

    One of the projects I am working on addresses these issues... I have modified a number of things, but, just to give you an example, I will use the topbar modifications as the example. Here’s what I managed to do:

    1.      1. Increased the topbar area and added direct links to ‘the wire, send a message, update profile, setting and help’. These are direct links to the exact functions, example, you click ‘send a message’ and it will take you to the ‘compose message’ page in your messages mod.

    2.       2. I integrated the ‘Wire’ form into the topbar and called it ‘Status’.. Now, you can click ‘update status’ and the form will slide down (JQuery driven), and from there you can post on the wire, or go the wire main page or view your wire postings.. The good thing is that when you submit your wire, you will stay on the current page.

    3.       3. I created an area where your friends list will also drop down when you click on the ‘Friends’ link. A drop down div (scroll driven if you have more than 5 friends), will appear with all your friends and from there you can view their profiles, send them messages, or remove them.. Now, you can send a friend a message, and it will submit, and you will not even have to leave your page.. Of course, just like in the wire care, I preserved the original messages mod pages and you can still access your inbox, sent messages, and compose message as well as sending messages from the friends drop down.

    4.       4. In terms of style, I took out the header-contents all together and just used the bigger, higher topbar and thrown the logo and everything else in there.

    All in all, I am hoping this will provide the end user with more convenience, less waiting for pages to load, and less travelling between pages. You can do that too, but remember, spend some time and study your code.. the more you do, the less you are frustrated with devs not coming to the rescue.

    I don’t usually give screen shots of my work, but I think this supports my point, so here are 4 shots of the topbar I was talking about. And remember, I have done much more in all other areas and functionalities of the script including 2 different user account categories (member and contributor).. change some permissions, a total re-theme... etc.

    1.       -  The Topbar including all links.

    image

    2.       - The Status Update (The Wire).

    image

    3.       - Level 1 in the friends area.. A drop down containing friends list and action links.

    image

    4.       - Level 2 Friends Area... you can send a message from here.

    image

     

    Sorry about the long post.

    My 2 cents.

     

     

  • The visual style guide (and the markup in terms of XHTML structure and CSS naming) is a requirement. The placement of elements, the reusability of styles and markup and an adherence to standards related to the presented content are all sorely needed.

    We've been running an Elgg site (http://planetred.unl.edu) for 5 months. Based on my work with Elgg, the UI and UX is in need of some major help. However, I feel these are our (as the Elgg site owner) responsibilities - not necessarily the Elgg core team. I'd prefer to see the Elgg core team focus on what they know best: the engine and back-end functionality.

    With that said, there is a need for the Elgg development to focus on the areas where the engine generates presentational markup - specifically in the XHTML markup. My largest frustration comes from -- what I consider to be -- unnecessary, inconsistent and invalid markup. Because of this, the styling and visual applications become tedious, inefficient and at a greater level of complexity than needed. Sure, I could go into the engine and rewrite it - but then I'll have issues with upgrades and future Elgg enhancements. I'll likely spend more time on the patch submissions, but these are not consistently applied to the Elgg core in a timely fashion. Regardless, these are based on my requirements and not necessarily the (currently undocumented) UI/UX Elgg core vision.

    Somehow, we need to come up with a documented roadmap with priorities of the Elgg visuals and user interactions. I don't believe the shipped Elgg product needs to be flashy and pristine (though this would likely help with adoption), but it does need to do a better job of supporting the ability for designers and developers to better accomplish this.

    I'm happy to add patches, and while this is a necessary tactic required for implementation, it fails to address the strategic direction needed through a documented style guide -- which should come first. I'd be excited to collaborate and offer my experience to this process if the Elgg core team is willing and able to get the ball rolling. Based on Carlos' screenshots I'd anticipate that he has some great ideas as well.

  • Wow... Carlos, a bit more than 2 cents worth there.  A bit fired up me thinks :)

    Now, I really agree with everyting you say the paragraph below encapsulates the point I was trying to make:

    "One of the things that are needed in Elgg is re-thinking user interaction with the site. By that I mean we need to minimize clicks to move between areas and perform certain functions, we need better search, we need to involve our site users with the site on more than one level at the same time.. We simply need to provide the end user with better experience and more convenience."

    However, I am not and have never been a web developer, and this is common to quite a few other users who post here.  I guess what you see is the frustration of the ignorant novice who has great ideas and plans, but without the skills, experience, training etc to put them into action. 

    I have spent the last 8 or more months grappling with this stuff, all after a days work doing my normal job or at weekends when I would rather be doing something else... I have read all the elgg documents, I have read a couple of PHP and CSS for dummies books etc, but still am very much out of my depth.  And while I have managed to fix the odd thing, or restyle something else, I am still about one University degree and a few years short of true comprehension about anything here.

    I love what you have done with the top bar, but I can not see myself ever getting to that level of competance, so rely on professionals with a community spirit to support and encourage us and improve our own meagre skills.  Please be patient and understanding, and help us when you can... Thanks in anticipation :)