Yii Framework Forum: Development of Web Application Tutorial Overlay Extension - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Development of Web Application Tutorial Overlay Extension "Bounty" for new extension for web application tutorials. Rate Topic: -----

#1 User is offline   bcorta 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 19
  • Joined: 21-July 12

Posted 27 July 2012 - 08:37 PM

I am looking to fund the development of a Yii extension, to be published to the community, that replicates the tutorial interface here:

<www.atlassian.com/software/university/overview>

The minute-long video on that site gives a good general idea, or you can sign up for a trial account to actually click through it yourself. I would go through a thorough description, but what I have in mind is pretty much just a more flexible version of the above linked "university" that could be applied to any Yii application as an "overlay", selectively de-activating specific parts of an existing web application as appropriate for the tutorial, again as demonstrated in the above example.

This new extension would allow for any Yii application to have a tutorial version or mode for teaching new users the interface and procedures for complicated tasks while actually performing the actions and steps themselves with the actual application, rather than watching a video or reading instructions.

$2,000 would be available to fund development for this, with payment able to made in late August. If interested, please respond with any further ideas, concerns, and programming/UI background that would be relevant to implementing this, and we can take it from there.

Best,

Scott
0

#2 User is offline   leandro 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 01-February 10

Posted 28 July 2012 - 12:15 PM

Hi Scott, I think this is a very interesting project and I want to participate. This extension will be very useful and it is great that you want to share it with the community. I begin to analyze the best design to develop this extension and in a few days I will make a proposal to you.

Best regards,
Leandro
0

#3 User is offline   bcorta 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 19
  • Joined: 21-July 12

Posted 28 July 2012 - 05:24 PM

Leandro:

Happy to hear it. I don't know that $2K is enough to cover the total development cost of a professional and elegant implementation of this at normal programming rates, but hopefully it's enough money to get the project going with yourself and/or a couple other folks with talent and experience. It is, however, what I have available in the budget - thus the subtitle of "bounty" on the original posting :-) I'm confident it's an extension that would see a lot of use. Will look for your proposal.

All the best,

Scott

View Postleandro, on 28 July 2012 - 12:15 PM, said:

Hi Scott, I think this is a very interesting project and I want to participate. This extension will be very useful and it is great that you want to share it with the community. I begin to analyze the best design to develop this extension and in a few days I will make a proposal to you.

Best regards,
Leandro

0

#4 User is offline   violet.cis 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 22
  • Joined: 13-June 12

Posted 30 July 2012 - 09:37 AM

this work will take only 7 days to complete and will cost at most $700
0

#5 User is offline   leandro 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 01-February 10

Posted 01 August 2012 - 10:02 AM

Hi Scott, I've been working on the design of the extension and analyzing different implementation strategies. In this post I describe the requirements I think the extension must satisfy. On the other hand, there are some questions regarding to Atlassian features that I'm not sure if must be included in the extension also.

A goal that I think is important to achieve to produce a much more productive extension is reduce to the minimum the amount of programming that a developer needs to write to use it. Could be very useful that the programmer add the notes via the web interface instead of write code. In this case, the note information (title text, body text, buttons text) would be stored in special tables in the database, instead of code text files. To achieve this, probably could be necessary extend the functionality of some core classes of Yii. However, this doesn't means produce a hacked or patched version of Yii. This could be achieved naturally using Yii extensibility mechanisms such as inheritance, filters, attached behaviors, etc.

In summary, I understand that the extension requirements are:

1. Position behavior: The note will appear next to the control and will have a small arrow pointing to it. If the user scroll the page, the note accompany the control in its new relative position.

2. Appearance customization: The extension should allow to change the appearance of the note with relative ease and configure some aspects of their behavior. For example: whether the note will appear in a "pop" or "fade" mode (configuring transition ms), etc.

3. Online tutorial creation: This is the goal mentioned at the beginning. It would be very productive if each tutorial could be created in "online mode" by developers (or administrators).

4. Multilingual support: To enable the integration in multilingual sites, the extension should also allow the entry of the text of each note in different languages, and display it in the current user language.

5. Security: If editing the note is made via web, only users who are administrators must have access to create or edit notes.

6. Documentation: As the extension will be shared with the community, is very important the internal documentation (in the source code, PhpDoc style) and external documentation (step by step guide in html and pdf). English is not my mother tongue, but I can get a human translator to do the sintactical and grammatical review.

7. Code quality: As the community will have access to the source code to modify it and improve it, code will be developed in compliance with the naming conventions of Yii, following a consistent programming style, including structured error handling, etc.

8. Support: After extension creation will be necessary support to developers who wish to use. I will give free support via email. My desire is to do this indefinitely, but I guarantee to do that for at least 6 months.

9. Maintenance: After extension creation will be necessary maintenance (bugs fixes, enhancements, etc). My desire is to do this indefinitely, but I guarantee to do that for at least 6 months.

Besides watching the video of Atlassian, I registered in the website and used his platform. There are some Atlassian features I would like to consult you if should be emulated also:

1. Organization: Atlassian tutorials organizes multiple "courses" that are composed of several "classes" with several "lessons", each of which has several "chapters" (tabs). Should the extension support multiple tutorials? If so, what would be the organizational structure? Should show the approximate time of each lesson as it does Atlassian?

2. Progress tracking: Atlassian also has the ability to "remember" what tutorials a user has completed (even partially). Should the extension also provide this functionality?

3. Automatic typing: Atlassian sometimes include in the notes a "Type for me" button that automatically insert in the textbox some text. Should the extension provide such functionality as well?

I want to ensure that all requirements are included. There are any other requirements of the extension that are not included in any of the above?

Best regards,
Leandro
0

#6 User is offline   JamesBarnsley 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 428
  • Joined: 18-November 10
  • Location:UK

Posted 01 August 2012 - 02:28 PM

Hi,

I am interested in the job.

James.
0

#7 User is offline   bcorta 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 19
  • Joined: 21-July 12

Posted 01 August 2012 - 08:00 PM

Leandro:

Looks like you spent a lot of time thinking it through and examining the Atlassian University example. I'm impressed. If you think you can make a reasonable go at it, and by the sound of it you can, PM me some contact information and we can pursue getting you a part of the "bounty" up front, and the rest when we've got something usable bordering on professional, if that seems reasonable to you.

Let me know if you need a development server, VCS repository, or anything of the like. I'm not terribly experienced with Yii, and don't have any experience writing extensions for it, but I do have some PHP and linux skills, so let me know where I may be of assistance.

See my annotations on your comments below...

View Postleandro, on 01 August 2012 - 10:02 AM, said:

Hi Scott, I've been working on the design of the extension and analyzing different implementation strategies. In this post I describe the requirements I think the extension must satisfy. On the other hand, there are some questions regarding to Atlassian features that I'm not sure if must be included in the extension also.

A goal that I think is important to achieve to produce a much more productive extension is reduce to the minimum the amount of programming that a developer needs to write to use it. Could be very useful that the programmer add the notes via the web interface instead of write code. In this case, the note information (title text, body text, buttons text) would be stored in special tables in the database, instead of code text files. To achieve this, probably could be necessary extend the functionality of some core classes of Yii. However, this doesn't means produce a hacked or patched version of Yii. This could be achieved naturally using Yii extensibility mechanisms such as inheritance, filters, attached behaviors, etc.

Seems reasonable to me.

In summary, I understand that the extension requirements are:

1. Position behavior: The note will appear next to the control and will have a small arrow pointing to it. If the user scroll the page, the note accompany the control in its new relative position.

Agreed.

2. Appearance customization: The extension should allow to change the appearance of the note with relative ease and configure some aspects of their behavior. For example: whether the note will appear in a "pop" or "fade" mode (configuring transition ms), etc.

If this can come out looking nice, I have no objection - sometimes fades just show up as choppy and detract from the user experience, but I'll leave it to your expertise..

3. Online tutorial creation: This is the goal mentioned at the beginning. It would be very productive if each tutorial could be created in "online mode" by developers (or administrators).

Would be nice, but really this is the sort of thing that would be implemented by a developer up front to display the use of a web application, and to train new people on it. If it involves some straightforward coding, or code modification, I don't think that would be the end of the world since in order to have a Yii application and this (future) Yii extension installed, one would have to have a basic knowledge of coding. If it's easy to do, great - but if it's going to be half the development time making it "non-coder friendly", I think the main users of this are going to be developers with the ability to manipulate some code.

4. Multilingual support: To enable the integration in multilingual sites, the extension should also allow the entry of the text of each note in different languages, and display it in the current user language.

Perfect - I'll actually be utilizing it primarily for a Spanish-language based web app, so this would be awesome. I see you mentioned English isn't your first language either, though I couldn't tell from the quality of the English in your writings (as someone spending a lot of time learning Spanish now, I can appreciate how much it takes to get where you are with your English!).

5. Security: If editing the note is made via web, only users who are administrators must have access to create or edit notes.

6. Documentation: As the extension will be shared with the community, is very important the internal documentation (in the source code, PhpDoc style) and external documentation (step by step guide in html and pdf). English is not my mother tongue, but I can get a human translator to do the sintactical and grammatical review.

I can work with you on the English documentation if you like, though your English is great.

7. Code quality: As the community will have access to the source code to modify it and improve it, code will be developed in compliance with the naming conventions of Yii, following a consistent programming style, including structured error handling, etc.

Sounds great.

8. Support: After extension creation will be necessary support to developers who wish to use. I will give free support via email. My desire is to do this indefinitely, but I guarantee to do that for at least 6 months.

Awesome and appreciate the offer.

9. Maintenance: After extension creation will be necessary maintenance (bugs fixes, enhancements, etc). My desire is to do this indefinitely, but I guarantee to do that for at least 6 months.

Again, sounds great and I'll join you on fixing and improving it.

Besides watching the video of Atlassian, I registered in the website and used his platform. There are some Atlassian features I would like to consult you if should be emulated also:

1. Organization: Atlassian tutorials organizes multiple "courses" that are composed of several "classes" with several "lessons", each of which has several "chapters" (tabs). Should the extension support multiple tutorials? If so, what would be the organizational structure? Should show the approximate time of each lesson as it does Atlassian?

I'd go so far as to call this a necessary feature, having an organized step-by-step process for someone completely new to a system to go through to learn it. On the other hand, one should be able to go straight to a particular tutorial ("How to add a new user", for example), if that's what they need refreshed upon, but the main use of this I see is similar to what Atlassian does - getting new people up and running on a new web application with a more interactive environment than a text or video tutorial. Having a notation for the approximate time each section ought to take seems like a handy addition.

2. Progress tracking: Atlassian also has the ability to "remember" what tutorials a user has completed (even partially). Should the extension also provide this functionality?

I don't think saved progress tracking is a priority, but if it's not a grand project to implement, OK. In my particular application, this tutorial would only be used by people who already had an account from within the web application, so might be possible to tie the saved tutorial information to an existing user account?

3. Automatic typing: Atlassian sometimes include in the notes a "Type for me" button that automatically insert in the textbox some text. Should the extension provide such functionality as well?

Easy to implement through Javascript, and would be helpful to a user for an example of what to input if that's not yet clear to them. I like this.

I want to ensure that all requirements are included. There are any other requirements of the extension that are not included in any of the above?

No it looks like you've thought everything through pretty well - I'm sure things will come up as we go through it, as they always do, but can tackle them as they come up.

Best regards,
Leandro

0

#8 User is offline   leandro 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 01-February 10

Posted 01 August 2012 - 11:15 PM

Hi Scott, I am excited to work on this project. As I said initially is a very interesting extension and hopefully it will be useful for others too.

I prefer not to receive any money until the project achieves its goals and you're happy with the result.

Until the project takes shape will work locally, but later will use GitHub if you agree.

Thank you very much for your answers to my questions. Regarding your question at point 2, yes, is possible read the user id of the currently logged user and save it in a special table in the database that will store the progress tracking of that user. In this way, the extension can remember the progress of each user.

By the way, what name you like give to the extension?

Best regards,
Leandro

View Postbcorta, on 01 August 2012 - 08:00 PM, said:

Leandro:

Looks like you spent a lot of time thinking it through and examining the Atlassian University example. I'm impressed. If you think you can make a reasonable go at it, and by the sound of it you can, PM me some contact information and we can pursue getting you a part of the "bounty" up front, and the rest when we've got something usable bordering on professional, if that seems reasonable to you.

Let me know if you need a development server, VCS repository, or anything of the like. I'm not terribly experienced with Yii, and don't have any experience writing extensions for it, but I do have some PHP and linux skills, so let me know where I may be of assistance.

See my annotations on your comments below...

0

#9 User is offline   bcorta 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 19
  • Joined: 21-July 12

Posted 02 August 2012 - 04:35 AM

All seems reasonable - let me know at what point it would be helpful for me to test a partially finished product, just for some outside feedback.

As for an extension name, do you think "Web Application Tutorial Overlay" encapsulates what it will do succinctly? I'm not very imaginative when it comes to things like that :-)



View Postleandro, on 01 August 2012 - 11:15 PM, said:

Hi Scott, I am excited to work on this project. As I said initially is a very interesting extension and hopefully it will be useful for others too.

I prefer not to receive any money until the project achieves its goals and you're happy with the result.

Until the project takes shape will work locally, but later will use GitHub if you agree.

Thank you very much for your answers to my questions. Regarding your question at point 2, yes, is possible read the user id of the currently logged user and save it in a special table in the database that will store the progress tracking of that user. In this way, the extension can remember the progress of each user.

By the way, what name you like give to the extension?

Best regards,
Leandro

0

#10 User is offline   leandro 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 26
  • Joined: 01-February 10

Posted 02 August 2012 - 06:28 AM

Hi Scott, I like the name, in addition can also be pronounced by his initials (W.A.T.O!).

I will share with you the source code at an early stage of development, but please I ask you a little patience at first because I like to analyze and design things carefully before putting my hands on the code.

Thank you very much again for letting me work on this project.

Best regards,
Leandro

View Postbcorta, on 02 August 2012 - 04:35 AM, said:

All seems reasonable - let me know at what point it would be helpful for me to test a partially finished product, just for some outside feedback.

As for an extension name, do you think "Web Application Tutorial Overlay" encapsulates what it will do succinctly? I'm not very imaginative when it comes to things like that :-)

0

#11 User is offline   Itai 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 1
  • Joined: 03-August 12

Posted 03 August 2012 - 05:30 PM

This sounds amazing ... please keep us posted :)

P.s. Hi to the Yii community ;)
0

#12 User is offline   JamesBarnsley 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 428
  • Joined: 18-November 10
  • Location:UK

Posted 26 December 2012 - 10:18 AM

Any news on this extension?

Has it been created yet? I was looking forward to using it.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users