[Second Draft] Designing a document based collaboration interface

.. this post is the continuation of my first draft which you could find it here –http://dolftax.com/2015/04/Designing-a-document-based-collaboration-interface/. I would ask you to go through the first draft before proceeding here, because here I’ve explained only the wireframes which are modified/tweaked, based on the comments on the first draft. This post is structured as /me resolving the comments on my first draft, with the new wireframes and explaining the reasons for modification.

Rooms could be nested

#1 : We could not enforce a topic/subtopic structure because rooms can be deeply nested. Topics and subtopics are all rooms. The users are free to organize the rooms as they wish. They could be topics, they could be something else. At every level, there may be documents and more rooms.

=> Removed topic/subtopic structure. As the rooms are completely nested, a room could contain any number of sub-rooms. Rooms and documents are analogous to folders and files. But wait, there are containers which are multi-part documents. To get the clear idea of what we mean by containers- refer to the discussion we had IRC log –https://tr.im/UOZpT

Shared and Private workarea

#2: The basic elements in sTeam are users, groups, rooms and documents. Each group has a workarea connected to it, and each user has a private workroom. Each user is a member of at least one group. So when a user enters the server, there are at least two rooms: the users private workarea, and the workarea of the group, that the user is a member of.

=> Workarea implemented. Under shared workarea, the user will get list of all rooms and documents which he got access to. Under private workarea he would get list of his private documents and rooms, which when shared will move to the shared workarea.

Shared Workarea

Shared Workarea - admin

Private Workarea

Private Workarea -admin

If you notice, you could create a room or document only in your private workarea. When you change permissions for a room/document in your private workarea, it would be pushed to shared workarea automatically.

Permissions are inherited

If a room has rw permissions, then everything inside the room also has rw permissions.

Room view – Level two

Room View - Level two

Notice the settings icon? Except for the first level, (levels are tracked by the level/stage bar) a user could change room/document attributes with the help ofsettings icon which pops up a window with following options.

Settings pop

The settings option appears only in the levels inner to level 1, because obviously, if the user is in the first level, he is not into any room.

#3: The user can move from room to room. The server keeps track of where the user is, and actions taken (such as creating a document) are relative to the users location. Users can pick up documents (the document is moved from the room, to the user itself), move to another room and drop the documents there.

=> When a document is selected, the copy and paste buttons (look at the above wireframe. buttons next to sort options) are activated. Clicking copy would copy the selected document, and allows you to paste it in any room (where you got access to) until the end of the session. Navigation between rooms could be done by clicking << button. It would popup the navigation sidebar on the right.

Sidebar Right

Also, if you wish to join any room, use the search bar. It would fetch you the list of rooms. Some rooms will not allow you to access the documents. Click on the user request icon next to room name, which would notify the room admin. When he gives you access, the room/document would be displayed in your shared workarea.

Search Results view

Search Results

Permission table

#4: A user should be able to insert objects without read and write permissions. One example where this is needed is to send your homework to your teacher. You get permission to insert into the teachers room, but once it’s in there, you can’t read it or write it anymore. It allows far more fine grained permissions than a unix system.

=> A permission button has been added to the ‘onClick of a Room’ view which will be available for the room admin and you.

In room view - Admin

For an admin, the permission table pop-up would look like the below wireframe (which is self-explanatory)

Permission table popup

Minor tweaks

Room sidebar removed

The room attached sidebar options has been moved to the settings popup. A detailed view of a room in any level would look like,

Room Detailed

Document View

In document level view, the following options are added,

  • Workarea bar
  • Delete document option (If access permits)
  • Permissions button

Document View

Guest view

A guest (who is not logged in) could view the rooms/documents. The view for a guest would look like,

Guest room view

PS: No changes have been made to Create room and Create document pop-ups.

Let me know what you think!

Continue Reading[Second Draft] Designing a document based collaboration interface

[First Draft] Designing a document based collaboration interface

This post is about my way of approach to develop User Interface for a document based collaboration platform. The Ideation is based on Martin’s thoughts, which you can find it here – http://societyserver.org/Topics/sTeam/Interface-elements-for-Document-Management . I would ask you to read the post and be back here.

The structure lives and evolves. and so do the documents. – Martin

Alright, You’re back! The primary goal was not to develop a separate admin panel. Rather the interface adds up extra admin options based on the permissions given to the logged-in user (Maybe, admin).

When I say admin, it means the authorized user who has Read/Write permissions and guest stands for non-authorized user who has only Read permissions.

As quoted, everything here would be documents, of any type (images, plain text, source code, ..) They should be structured into hierarchies. The admin/authorized user should be able to add new room, able to sort by Title/Author/Date, able to Re-arrange the documents, implemented as drag and drop.

![Home Admin && User ](https://raw.githubusercontent.com/dolftax/dolftax.github.io/master/sTeam/wireframes/1.png)

Each room should have

  • Topic
  • Description
  • Keywords

and good to have various other attributes which might explain the room well. The admin has a sidebar which options to perform CRUD (Create/Read/Update/Delete) operations on a room. The sidebar is hidden for guest user. The wireframe below is detailed/zoomed view of a room in the above image.

![Room – Detailed View Admin](https://raw.githubusercontent.com/dolftax/dolftax.github.io/master/sTeam/wireframes/2.png)

Creating a room asks for Room specific information. If you look at the wireframe below, they are self-explanatory. Permission would be set at this level whether it could be Shared/Private.

Create room

On click of a Room/Topic opens up the sub-topics under the room. The listing could be sorted and searched. Communication, being one of the major element for collaboration would be of comments. The admin gets to moderate (Approve/Delete) the comments. At this level, the comments are room-specific.

![onClick of Room Admin](https://raw.githubusercontent.com/dolftax/dolftax.github.io/master/sTeam/wireframes/4.png)

You should have noted the >> on the right. It opens up a sidebar with Room/Topic listing which then nests into Sub-topic listing. These are the doors which helps the user for hassle-free navigation between rooms.

Sidebar navigation - Right

The sub-topic ( as same as Topic) has description, keywords and various other attributes. The sidebar of options and Add Sub-topic for admins to perform CRUD operations on them. The Sub-topic sidebar would be hidden for guest user.

Sub-topic Detailed View

Considering the hierarchy as a tree, the leaf node be the document. A document could be of any type,

  • markup-text (markdown, html, others)
  • xml, json, csv
  • source-code
  • image
  • audio
  • video
  • binary
  • object (instance of a script)

Displaying the content of a document in the browser would be based on the type of the document. Anything text based, images and videos are displayed. For other binary files or objects, only metadata is displayed (owner, date of creation etc). And binaries would have a download link. Comments at this level is document specific.

At any level, one should be able to navigate to any room/topic (or) sub-topic with the help of the right sidebar drawer.

The admin has the following options for each document,

  • Link
  • Copy
  • Edit
  • Curate (based on document type)

.. whereas guest would have everything else other than Edit.

Link icon pops up a list of Rooms (where the present logged in user has access to) which on click results in adding a link of the document to the respective room. Edit icon opens up the editor only if the document type is of something which could be edited in a browser. A complete document could also be deleted. The interesting part is to distinguish the documents based on the document-type, visually. TheCurate icon pops up the list of documents in the specific room which are of the same document type as the currently viewed one.

Document View - Admin

A document would be displayed like the below wireframe for a guest user.

![Document View User](https://raw.githubusercontent.com/dolftax/dolftax.github.io/master/sTeam/wireframes/10.png)

Creating a document asks for document specific information and feature for uploading the document. I assumed MIME-Type would be automatically detected. Else, an option could be added. Permission could also be set at document level.

Create Document

With that said, if you have any suggestions (or) if I’m missing something here, please start the discussion below. Note that these are bare minimum wireframes and therefore would be slightly modified during implementation.

UPDATE: Uh oh! I missed containers. Expect a bit of restructure in my next draft.

Cheers!

Continue Reading[First Draft] Designing a document based collaboration interface

FOSSASIA 2015 Singapore – Wrap Up

FOSSASIA 2015 in Singapore has been a fantastic success. Thanks to everyone who helped to make this event possible! We would also like to thank all sponsors, venue partners and our main supporters Red Hat and Google. FOSSASIA 2016 will take place from March 18-20 in Singapore. Below are some numbers and facts of 2015 now, some info about ‘What’s Next in 2015’ and our FOSSASIA GSoC program with 5,500 USD stipends for students (Deadline 27 March. Apply now).

FOSSASIA 2015 Singapore

FOSSASIA’15 NUMBERS & FACTS

  • We had 128 speakers from 27 countries and 900+ attendees. 37 volunteers supported the event.
  • There were 142 scheduled sessions and lightning talks, and 58 breakout and unconference sessions.
  • Dozens of talks are already available as videos. Thousands of photos have been uploaded to social networks. 1500+ tweets with the FOSSASIA hashtag were posted during the event.
  • Dr. Vivian Balakrishnan, the Singapore Minister-in-charge of the Smart Nation Initiative said at the event at a Q&A with Roland Turner: “Rest assured, we will continue to support Open Data and Open Source.
  • Other keynotes included Lennart Poettering with systemd; Bunnie Huang gave insights to Open Hardware Development; Colin Charles about the future of MariaDB, and Gen Kanai talked about developer engagement at Mozilla.
  • “Build your own minimum viable Internet” was a hot topic at the event set by Harish Pillay as well as the Internet of Things and enabling local production with digitization of machines like knitting machines.
  • A first trend analysis of FOSSASIA shows that Python continues to receive increasing attention of developers and DevOps topics attracting a lot of interest.

WHAT’S NEXT IN 2015

  • Due to the large interest in DevOps at FOSSASIA we are teaming up with Red Hat to bring you some free Open Stack webinars including a 3-webinar series to learn how PaaS partnered with DevOps can improve application time to market. Please follow this link for the free webinar.
  • And: DevOps can also join a free webinar to learn about the Keystone identity service, which is part of the OpenStack Platform.
  • FOSSASIA is a mentor org for Google Summer of Code 2015. We are looking for students who would like to develop for Open Source projects and receive a stipend of 5,500 USD. We are particularly looking for mobile app developers and software developers for Open Hardware and the Internet of Things. Please check out our ideas list here: http://labs.fossasia.org/ideas and sign up before March 27 on Google Melange.
  • The FOSSASIA community organizes events and developer meetups throughout the year. Please join our meetups in Singapore, in Dubai and many other cities in Asia.

Links

Sign up for GSoC before March 27: http://www.google-melange.com/gsoc/
FOSSASIA Photos: https://www.flickr.com/search/?tags=fossasia
FOSSASIA on Twitter: https://twitter.com/fossasia
FOSSASIA Videos: https://www.youtube.com/chan
FOSSASIA Sg Meetup: http://www.meetup.com/FOSSASIA
DevOps Webinars: https://vts.inxpo.com/scripts/Server.nxp
Keystone identity service Webinar: http://www.redhat.com/en/about/events

Continue ReadingFOSSASIA 2015 Singapore – Wrap Up

FOSSASIA Open Technology Summit 2015 in Singapore

Singapore, March 8, 2015 – FOSSASIA will take place in Singapore for the first time this year. The conference will feature over 100 talks and workshops covering the latest in Free and Open Source Technology projects, including those focused on the development of Singapore as a smart nation.

The summit is hosted by NUS Enterprise, ACE, Silicon Straits, JFDI and SingTel Innov8 in partnership with IDA, Red Hat, Google, Oracle, MySQL, Mozilla Foundation, Python Foundation, Treasure Data, MBM Asia, Uptime and many more. The event will kick off on Friday at Biopolis and continue on Saturday and Sunday at JTC LaunchPad @ one-north.

The organizers are particularly excited to welcome keynote speakers including Colin Charles from MariaDB running Wikipedia one of the biggest websites in the world, Italo Vignoli – co-founder of LibreOffice, Bunnie Huang – the founder of the Novena laptop project, Stefan Koehler – lead engineer of the City of Munich’s whole-of-government Linux project LiMux, and Georg C. F. Greve – the founder of Free Software Foundation Europe.

Mario Behling, head of Program Planning, said “This year we are welcoming over 120 speakers from 26 countries, making this both the largest and most diverse FOSSASIA speaker roster ever. Of particular interest is the increasing presence of open hardware, which is important for Singapore as the growth in open hardware development combined with proximity to Asian manufacturing capacity and commitment to building a Smart Nation creates a wealth of opportunities for innovation.”

Other topics and activities include: Free and Open Source software, web and mobile development, software for education, map solutions for websites and phones, open knowledge tools, Wikipedia, open data, big data, sensor networks, free wireless networks, graphic design, fashion technology, open source knitting machines, 3D printing, key signing parties to help local developers join the PGP web of trust and the opportunity for participants to obtain their Linux Foundation Certification organised by the Linux Foundation in cooperation with OlinData.

Agenda

Day 1, Fri.13 Mar,  9am – 5pm: Opening Event at Biopolis with IDA, Red Hat, Google, Mozilla

Day 2, Sat.14 Mar, 9am – 5pm: Talks and presentations of developers and designers at LaunchPad @ one-north

Day 3, Sun.15 Mar, 10am – 4.30 pm: Hands-on seminars and workshops at LaunchPad

Links

FOSSASIA: fossasia.org

Summit Site: 2015.fossasia.org

Continue ReadingFOSSASIA Open Technology Summit 2015 in Singapore

Google Code-In Success: FOSSASIA Top-Ranked Organization

FOSSASIA‘s first participation of Google Code-in contest as a mentoring organizations was a great success with 587 tasks completed, most by any organization this year, out of a total of 725 published tasks. The twelve participating organizations included projects like Wikimedia, Sugarlabs, Sahana, Drupal, KDE and OpenMRS.

Students from all around the world aged 13-17 years old worked with mentors of FOSSASIA on improving open source software during the 7 weeks the contest is run. They coded programs, designed artworks, tested software and more than anything else had fun.

174 students managed to complete at least one task with FOSSASIA and 43 out of them claimed a cool t-shirt from Google by completing 3 or more tasks.

Out of the 10 students who completed most number of tasks finalists and grand prize winners were picked collectively by FOSSASIA’s 24 mentors. Namanyay Goel and Samarjeet Singh won the grand prize, which is an all expense paid trip to Google HQ in Mountain View, California. Alvis Wong, Amr Ramadan and Tymon Radzik emerged as finalists. Congratulations finalists! Safe travels grand prize winners! We are thankful for your precious contributions and will be delighted see you continue to contribute even after the program.

Open source projects ExpEYES, sup, TiddlySpace, p5.js among few others, benefitted from FOSSASIA students’ work. More than 150 open source/ open tech projects and communities around asia were connected to FOSSASIA with the help of students. Students also worked together to build a nice website portraying students and mentors.

We would like to thank all participated students for the amazing interest they showed in our tasks. Its great to see some of them still hang around to help us. 24 mentors of FOSSASIA worked hard and stood up to the challenge of finding time to work with and help out students while having other obligations. Thank you mentors! Lastly we are grateful to Stephanie Taylor and Co. at the Google OSPO, for organizing the wonderful contest.

Google Code-In FOSSASIA Mentor Package Wonderful Surprise: Mentors received a Thank You Package from Google

Sleeping peacefully - Nephew of Michael Cheng: Mentor's Family Enjoying "Open Source" Thank you package Sleeping peacefully – Nephew of Michael Cheng: Mentor’s Family Enjoying “Open Source” Thank you package

Links

FOSSASIA GCI: http://www.google-melange.com/gci/org/google/gci2014/fossasia

Google Blog about GCI: http://google-opensource.blogspot.de/2015/02/google-code-in-2014-magic-in-numbers.html

Continue ReadingGoogle Code-In Success: FOSSASIA Top-Ranked Organization

Google Code-In Experience with FOSSASIA

For the last few weeks I got the opportunity to be involved in the Google Code-In 2014 program as a mentor for FOSSASIA (Thanks Andun Sameera!). It was challenging than I thought specially while doing a full time job. But was a great experience and I learned things myself with the students.

Google Code-In FOSSASIA 2014/15

FOSSASIA’s co-admin Mario Behling initiated an interesting project at the start of the program to give students an opportunity to experience open source development culture. The project was to create a small website to hold FOSSASIA’s students’ and mentors’ details. It came out to be a great success with a cute little website being created and more importantly a nice little community of students created around it.

Usually there is a barrier you need to get past as a novice contributor, to get your first commit merged in to an open source project. The administrators would want you to follow annoying coding conventions, to “combine your 5 commits, solving a simple small bug into one big commit” or to “rebase your pull request on top of master”. Until you continue contributing for some time and realize the importance of those, and start to appreciate them, they are just some annoyance that you have to deal with, on the way to get your work integrated.

We for this project initially made this barrier very very less challenging. We would merge pull requests if they do the job. This so that young student contributors don’t feel discouraged and only until they get themselves started. But having being well mentored at Google Summer of Code 2013 I wanted some niceties in our git commits. So I made learning them into a task.

Google Code-In Mentor Aruna Herath at work with FOSSASIAGoogle Code-In Mentor Aruna Herath at work

The task was to learn how to make your local commits look nice before you push them to the repo. To make it more organized and can be evaluated, and hopefully fun, I built up a small set of commits with a interesting bit of a commit history; a story. I added the set of commits to a Github repo that includes wrongly commited commit message and two commits that could look better sqashed into a bigger commit. Students are asked to clone the repo and then using git interactive rebase, make the commit history look better. The story of the commits and a set of instructions are given. Then they have to blog about there experience. They came up with some great write ups! Some focused on the technical aspects and were of a tutorial point of view. Some were explaining the personal experience writers themselves got and were on a lighter, less technical, language. However all were great!

I think I got few students to learn something that will be valuable in their future careers and also one student to start blogging! When I saw a set of commits that could be better organized in a pull request for any of FOSSASIA’s repositories, from a student who completed this task, I asked them to make them better. Thanks to above task, they knew the terminology, and communication was easier. When I say squash these commits and reword the commit message to something like this, they knew what I was saying, and how to do that, and were happy to oblige.

We gradually made it harder and more challenging, bringing the barrier to the usual level, for students who hang around to complete more tasks. This hopefully resulted in not only the finish product, but also the path towards it, to be in great shape. Students managed to complete many more very valuable work for FOSSASIA. It was fun working with them and I wish them an exciting and a fruitful future!

Continue ReadingGoogle Code-In Experience with FOSSASIA

Learn Smalltalk in Online Workshops

During Google Code-In we had several tasks that were aimed at teaching smalltalk to students to they could help with smalltalk projects. Some students were interested to continue learning after Code-In was over, so we started a series of online workshops.

The Workshop is made up of a series of live-coding video lectures. Watch the videos, code along, and ask questions on IRC.

The best time to ask is saturdays from 2pm to 6pm chinese time, that is 7am to 11am CET or 6am to 10am UTC. You can find eMBee on freenode irc in the channels #fossasia and #pharo.

First session: Using the FileSystem class in Pharo Smalltalk

Second session: Serving files through FileSystem in Pharo Smalltalk

Third Session: A static webapplication hosted on Pharo Smalltalk

Continue ReadingLearn Smalltalk in Online Workshops

Linux Foundation Certification at FOSSASIA 2015 in Singapore

We’re happy to bring you good news from the Linux Foundation in cooperation with OlinData: You can take a Linux Foundation exam at FOSSASIA Singapore for a special one-time 33% discount. It is possible to get yourself certified for both the Linux Foundation Certified Engineer (LFCE) and the Linux Foundation Certified System Administrator (LFCS). We’ll have a dedicated room on Saturday March 14, 2015 at Blk71 where you can sit down in all quietness and take the examination so you can walk away with one of the highest quality Linux Certification in the industry.

A Linux Foundation Certified System Administrator (LFCS) has the skills to do basic to intermediate system administration from the command-line for systems running Linux. Linux Foundation Certified System Administrators are knowledgeable in the operational support of Linux systems and services. They are responsible for first line troubleshooting and analysis, and decide when to escalate issues to engineering teams. More information here: training.linuxfoundation.org/certification/lfcs

If you want to make sure you are prepared for the LFCS exam we have a great deal for you: By taking a special edition of the online self-paced course for the LFCS certification, you’ll be well prepared for the LFCS certification and at the same time supporting FOSSASIA: The Linux Foundation has promised to sponsor 100 USD for each online course sold. Please go here for more information and Sign Up Now.

A Linux Foundation Certified Engineer (LFCE) possesses a wider range and greater depth of skills than the Linux Foundation Certified System Administrator (LFCS). Linux Foundation Certified Engineers are responsible for the design and implementation of system architecture. They provide an escalation path and serve as Subject Matter Experts (SMEs) for the next generation of system administration professionals. More information here: http://training.linuxfoundation.org/certification/lfcs

Continue ReadingLinux Foundation Certification at FOSSASIA 2015 in Singapore

Let’s build an Open Textile and Garment Production Line – Talk at the 31c3 Congress Hamburg

Here is my talk at the 31c3 Chaos Communication Congress about FashionTec projects and Open Garment Production Lines. Hope you enjoy it.

Links

Hong Phuc Dang at the 31c3 Chaos Communication Congress

Let’s build our own personalized open textile production line

Continue ReadingLet’s build an Open Textile and Garment Production Line – Talk at the 31c3 Congress Hamburg

FashionTec, Open Textile and Garment Production at the Chaos Communication Congress

Here is the talk of Hong Phuc Dang at the 31c3 Chaos Communication Congress about FashionTec projects and Open Garment Production Lines.

Links

Hong Phuc Dang at the 31c3 Chaos Communication Congress

Let’s build our own personalized open textile production line

Downloads:

Open Textile Production Line

Continue ReadingFashionTec, Open Textile and Garment Production at the Chaos Communication Congress