how to jump start a brand new website (under the gun)

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Harry Slaughter

    how to jump start a brand new website (under the gun)

    I've got a client who wants to see some immediate results on a brand new
    website. within a week, they'd like to see the following:

    1) basic user authentication (using php sessions/cookies to maintain
    authentication)
    2) some basic content (text, photos, audio) uploading mechanism
    3) basic content browsing in a somewhat neatly formatted presentation

    knowing how quickly they wanted something they could look at, i
    initially suggested using a framework such as mambo or seagull, but they
    don't want to have to deal with the scalability issues and other
    restrictions of those types of tools (issue is closed at this point, so
    no need to argue scalability of these types of CMS frameworks.

    oh, they also want a db abstraction layer so as to allow for future
    flexibility and the ability to use a distributed db backend down the
    road. maybe the option to swap out databases, you know the routine :)

    I'm a little nervous promising all this in a week.

    I've got two questions for the esteemed audience members here:

    1) does this seem like a reasonable goal for a one week time frame?

    2) is there any sort of "mini framework" that is not a full fledged
    graphically oriented content management system but rather a "starter
    kit" for a website that might have some of the following features:

    - nice clean file structure defined (for some reason i have no
    discipline when it comes to organizing conf tmpl and code files. I'm
    sure I'm the only one here with that problem.

    - modules/classes for stuff like authentication and session management

    - minimal or no required DB schema. tables would be required only to the
    extent that you want to use tool's modules. for example, if you want
    authentication and session management, you'd need to set up users and
    sessions tables

    - modules/classes for uber common web app functions like file uploads,
    user comments, publishing/browsing content.

    - a means of cleanly and easily incorporating custom code for more
    esoteric features.

    - in addition to allowing for db abstraction, the tool would also
    incorporate an MVC framework (smarty is the best that I'm aware of)

    I'm talking something that would not assume the role of the website's
    primary interface, but assume a sort of background role that simply
    allows a developer to skip a lot of the tedius coding tasks.

    all the tools I've looked at (and some of them are indeed very nice)
    seem oriented towards non-programmers. that is, they assume that your
    going to be using their graphical interface to do most (not all) of your
    website creation. this is fantastic for folks looking for that. seagull,
    mambo, tikiwiki and others are very nice apps if you don't want to do a
    lot of programming and don't mind giving up things like scalability and
    flexibility.

    this is a one man show, and i'd really like to meet the customer's
    needs. but as i see it, there's no real way for me to provide something
    that's good, fast AND cheap without a developer oriented php framework.

    I'm sure I'm not the only one out there looking for this type of thing,
    yet I've found no such framework and no mention of anything like it.

    thank you
  • IWP506@gmail.com

    #2
    Re: how to jump start a brand new website (under the gun)

    I'd tell the customer that I'd really not be able to provide a solution
    to both my and his expectations in one week, and ask for two weeks to
    make it really nice.

    Sorry there's not code answers :)

    Comment

    • Jerry Stuckle

      #3
      Re: how to jump start a brand new website (under the gun)

      Harry Slaughter wrote:[color=blue]
      > I've got a client who wants to see some immediate results on a brand new
      > website. within a week, they'd like to see the following:
      >
      > 1) basic user authentication (using php sessions/cookies to maintain
      > authentication)
      > 2) some basic content (text, photos, audio) uploading mechanism
      > 3) basic content browsing in a somewhat neatly formatted presentation
      >
      > knowing how quickly they wanted something they could look at, i
      > initially suggested using a framework such as mambo or seagull, but they
      > don't want to have to deal with the scalability issues and other
      > restrictions of those types of tools (issue is closed at this point, so
      > no need to argue scalability of these types of CMS frameworks.
      >
      > oh, they also want a db abstraction layer so as to allow for future
      > flexibility and the ability to use a distributed db backend down the
      > road. maybe the option to swap out databases, you know the routine :)
      >
      > I'm a little nervous promising all this in a week.
      >
      > I've got two questions for the esteemed audience members here:
      >
      > 1) does this seem like a reasonable goal for a one week time frame?
      >
      > 2) is there any sort of "mini framework" that is not a full fledged
      > graphically oriented content management system but rather a "starter
      > kit" for a website that might have some of the following features:
      >
      > - nice clean file structure defined (for some reason i have no
      > discipline when it comes to organizing conf tmpl and code files. I'm
      > sure I'm the only one here with that problem.
      >
      > - modules/classes for stuff like authentication and session management
      >
      > - minimal or no required DB schema. tables would be required only to the
      > extent that you want to use tool's modules. for example, if you want
      > authentication and session management, you'd need to set up users and
      > sessions tables
      >
      > - modules/classes for uber common web app functions like file uploads,
      > user comments, publishing/browsing content.
      >
      > - a means of cleanly and easily incorporating custom code for more
      > esoteric features.
      >
      > - in addition to allowing for db abstraction, the tool would also
      > incorporate an MVC framework (smarty is the best that I'm aware of)
      >
      > I'm talking something that would not assume the role of the website's
      > primary interface, but assume a sort of background role that simply
      > allows a developer to skip a lot of the tedius coding tasks.
      >
      > all the tools I've looked at (and some of them are indeed very nice)
      > seem oriented towards non-programmers. that is, they assume that your
      > going to be using their graphical interface to do most (not all) of your
      > website creation. this is fantastic for folks looking for that. seagull,
      > mambo, tikiwiki and others are very nice apps if you don't want to do a
      > lot of programming and don't mind giving up things like scalability and
      > flexibility.
      >
      > this is a one man show, and i'd really like to meet the customer's
      > needs. but as i see it, there's no real way for me to provide something
      > that's good, fast AND cheap without a developer oriented php framework.
      >
      > I'm sure I'm not the only one out there looking for this type of thing,
      > yet I've found no such framework and no mention of anything like it.
      >
      > thank you[/color]

      If you have to ask, the answer is no.

      --
      =============== ===
      Remove the "x" from my email address
      Jerry Stuckle
      JDS Computer Training Corp.
      jstucklex@attgl obal.net
      =============== ===

      Comment

      • Michael Vilain

        #4
        Re: how to jump start a brand new website (under the gun)

        In article <T9WdnUc9P8vOJX zfRVn-pg@comcast.com> ,
        Jerry Stuckle <jstucklex@attg lobal.net> wrote:
        [color=blue]
        > Harry Slaughter wrote:[color=green]
        > > I've got a client who wants to see some immediate results on a brand new
        > > website. within a week, they'd like to see the following:
        > >
        > > 1) basic user authentication (using php sessions/cookies to maintain
        > > authentication)
        > > 2) some basic content (text, photos, audio) uploading mechanism
        > > 3) basic content browsing in a somewhat neatly formatted presentation
        > >
        > > knowing how quickly they wanted something they could look at, i
        > > initially suggested using a framework such as mambo or seagull, but they
        > > don't want to have to deal with the scalability issues and other
        > > restrictions of those types of tools (issue is closed at this point, so
        > > no need to argue scalability of these types of CMS frameworks.
        > >
        > > oh, they also want a db abstraction layer so as to allow for future
        > > flexibility and the ability to use a distributed db backend down the
        > > road. maybe the option to swap out databases, you know the routine :)
        > >
        > > I'm a little nervous promising all this in a week.
        > >
        > > I've got two questions for the esteemed audience members here:
        > >
        > > 1) does this seem like a reasonable goal for a one week time frame?
        > >
        > > 2) is there any sort of "mini framework" that is not a full fledged
        > > graphically oriented content management system but rather a "starter
        > > kit" for a website that might have some of the following features:
        > >
        > > - nice clean file structure defined (for some reason i have no
        > > discipline when it comes to organizing conf tmpl and code files. I'm
        > > sure I'm the only one here with that problem.
        > >
        > > - modules/classes for stuff like authentication and session management
        > >
        > > - minimal or no required DB schema. tables would be required only to the
        > > extent that you want to use tool's modules. for example, if you want
        > > authentication and session management, you'd need to set up users and
        > > sessions tables
        > >
        > > - modules/classes for uber common web app functions like file uploads,
        > > user comments, publishing/browsing content.
        > >
        > > - a means of cleanly and easily incorporating custom code for more
        > > esoteric features.
        > >
        > > - in addition to allowing for db abstraction, the tool would also
        > > incorporate an MVC framework (smarty is the best that I'm aware of)
        > >
        > > I'm talking something that would not assume the role of the website's
        > > primary interface, but assume a sort of background role that simply
        > > allows a developer to skip a lot of the tedius coding tasks.
        > >
        > > all the tools I've looked at (and some of them are indeed very nice)
        > > seem oriented towards non-programmers. that is, they assume that your
        > > going to be using their graphical interface to do most (not all) of your
        > > website creation. this is fantastic for folks looking for that. seagull,
        > > mambo, tikiwiki and others are very nice apps if you don't want to do a
        > > lot of programming and don't mind giving up things like scalability and
        > > flexibility.
        > >
        > > this is a one man show, and i'd really like to meet the customer's
        > > needs. but as i see it, there's no real way for me to provide something
        > > that's good, fast AND cheap without a developer oriented php framework.
        > >
        > > I'm sure I'm not the only one out there looking for this type of thing,
        > > yet I've found no such framework and no mention of anything like it.
        > >
        > > thank you[/color]
        >
        > If you have to ask, the answer is no.[/color]

        They seem to have definite ideas about function and scalability. What
        about resources required? The site is going to handle uploading, so it
        will keep data. What about backings for that data in case of loss?
        What about bandwidth requirements? How long will the keep the data?
        Any scheme for archiving?

        I'd go even further than the other response to this thread. I could
        provide an analysis of their options and create a requirements
        specification document based on interviewing people and finding out what
        they want. But I wouldn't offer any working site in that time-frame.
        I'd also require a retainer up-front and a signed contract outlining
        their responsibilitie s and my deliverables. I would not attempt to
        undertake creating anything they could "try out" in that 1-week
        timeframe.

        If they're paying by the hour (or time and materials), I feel this
        reasonable for an initial project. They can take the resulting spec and
        shop it around to other web development firms and ask for a fixed-price
        bid in the 1-week project. That is, if they get anyone to bid on it.

        If this is the first time they've hired outside consulting or web
        development, they need to be educated on the development cycle. I
        wonder if a single-person shop can't really do something this complex
        without doing some degree of what I used to call "Hallmark programming"
        (i.e. "We only care enough to reuse the very best.") in their
        time-frame. I'm sure there are code monkeys out there that can and they
        charge accordingly.

        Such "under the gun" projects can sometimes indicate a political
        situation. So part of my interviews would be to find out who's driving
        the requirements for the site--people who will use it, some project or
        marketing manager saw something "cool" and wants a site "like that", or
        something else. I'd meet with them to discuss scope of the project and
        find out how hard that deadline is. If they're paying fixed price or
        hourly, you could get others involved to code up something in a week,
        but without prioritizing their punch-list, it would be hard to commit to
        their timeline.

        I personally would turn down this type of project because of the
        political landmines I envision with their timeline and requirements.
        But that's me.

        --
        DeeDee, don't press that button! DeeDee! NO! Dee...



        Comment

        • Harry Slaughter

          #5
          Re: how to jump start a brand new website (under the gun)

          IWP506@gmail.co m wrote:[color=blue]
          > I'd tell the customer that I'd really not be able to provide a solution
          > to both my and his expectations in one week, and ask for two weeks to
          > make it really nice.
          >
          > Sorry there's not code answers :)[/color]

          I'm definitely not looking for code here :) I'm looking for a way to
          make my abilities match the customer's desires.

          As of this moment, I'm considering Drupal (http://drupal.org) as a
          possibility. It's proven on fairly high profile websites, it's mature,
          it's free, it's flexible.

          Comment

          • Harry Slaughter

            #6
            Re: how to jump start a brand new website (under the gun)

            Jerry Stuckle wrote:
            [color=blue]
            > If you have to ask, the answer is no.[/color]

            Do you have a clue?

            Comment

            • Harry Slaughter

              #7
              Re: how to jump start a brand new website (under the gun)

              Michael Vilain wrote:[color=blue]
              > In article <T9WdnUc9P8vOJX zfRVn-pg@comcast.com> ,
              > Jerry Stuckle <jstucklex@attg lobal.net> wrote:[/color]
              ......[color=blue]
              > They seem to have definite ideas about function and scalability. What
              > about resources required? The site is going to handle uploading, so it
              > will keep data. What about backings for that data in case of loss?
              > What about bandwidth requirements? How long will the keep the data?
              > Any scheme for archiving?[/color]

              these are definitely issues that need to be handled at some point, but
              they aren't really top priorities.

              the question is really the fastest way to develop a site that will be
              extensible, maintainable, down the road.
              [color=blue]
              > they want. But I wouldn't offer any working site in that time-frame.
              > I'd also require a retainer up-front and a signed contract outlining
              > their responsibilitie s and my deliverables. I would not attempt to
              > undertake creating anything they could "try out" in that 1-week
              > timeframe.[/color]

              I'm pretty much convinced that only a framework such as Drupal will
              enable a single developer to meet the types of demands we're talking about.
              [color=blue]
              > If this is the first time they've hired outside consulting or web
              > development, they need to be educated on the development cycle. I
              > wonder if a single-person shop can't really do something this complex
              > without doing some degree of what I used to call "Hallmark programming"
              > (i.e. "We only care enough to reuse the very best.") in their
              > time-frame. I'm sure there are code monkeys out there that can and they
              > charge accordingly.[/color]

              LOL, that's a good one. The good ol' cut/paste design method, aka
              glueware, aka unmaintainable junk. I'm all for borrowing, but you can't
              borrow a whole lot before you have a big pile of unintelligible junk.
              [color=blue]
              > Such "under the gun" projects can sometimes indicate a political
              > situation. So part of my interviews would be to find out who's driving
              > the requirements for the site--people who will use it, some project or
              > marketing manager saw something "cool" and wants a site "like that", or
              > something else. I'd meet with them to discuss scope of the project and
              > find out how hard that deadline is. If they're paying fixed price or
              > hourly, you could get others involved to code up something in a week,
              > but without prioritizing their punch-list, it would be hard to commit to
              > their timeline.
              >
              > I personally would turn down this type of project because of the
              > political landmines I envision with their timeline and requirements.
              > But that's me.[/color]

              I'm hoping to turn this in to a legitimate project for myself. Dealing
              with questionable time estimates is certainly preferable to dealing with
              what you get in a big corprorate environemnt (at least IMHO).

              Comment

              • Jerry Stuckle

                #8
                Re: how to jump start a brand new website (under the gun)

                Harry Slaughter wrote:[color=blue]
                > Jerry Stuckle wrote:
                >[color=green]
                >> If you have to ask, the answer is no.[/color]
                >
                >
                > Do you have a clue?
                >[/color]

                Sure I do. I have almost 40 years of programming experience.

                The point here is - if you're not sure you can do it in the timeframe given, you
                can't. You obviously are relatively new to this, and a bit unsure as to what
                you're doing.

                There's nothing wrong with this - we all have to start someplace. But what you
                have is a vague set of requirements and a very short deadline. It's a recipe
                for disaster, even to an experienced programmer.

                Also, as to Michaels' comments about function, scalability and the rest are dead
                on target. They need to be addressed NOW - not at some future date.

                I also agree with Michael that this project is ill-defined at this point. On a
                web site this complicated, you really need a requirements document to lay out
                exactly what the customer wants.

                If you just jump into this, you're courting disaster (and possibly a lawsuit).
                Either you'll be constantly changing the code for free because the site
                requirements were never properly defined, or the customer will fire you (and
                possibly sue) because you're not providing what they want at the price they
                thought they agreed on.

                All of this will take longer than a couple of days or even a week.

                So, if you have to ask, the answer is no. If I were in your position, I'd run
                from this one unless they agreed to a realistic timeframe. (One of my hardest
                problems when I became a consultant was to learn to say NO to the "bad"
                contracts/customers.

                --
                =============== ===
                Remove the "x" from my email address
                Jerry Stuckle
                JDS Computer Training Corp.
                jstucklex@attgl obal.net
                =============== ===

                Comment

                • Harry Slaughter

                  #9
                  Re: how to jump start a brand new website (under the gun)

                  Jerry Stuckle wrote:[color=blue]
                  >
                  > Sure I do. I have almost 40 years of programming experience.
                  >
                  > The point here is - if you're not sure you can do it in the timeframe
                  > given, you can't. You obviously are relatively new to this, and a bit
                  > unsure as to what you're doing.[/color]

                  I've been doing Internet development for about 10 years, but I've never
                  been responsible for developing an entire product from scratch with no
                  dev team and little to no specification and a timeframe measured in
                  weeks. I know most experienced developers wouldn't touch something like
                  this. But I'd like to make an effort to match the client's expectations
                  with the resource available for the task, me.

                  I'm aware of what happens when you try to develop before you know what
                  you're developing. And I can recognize mutually exclusive demands (the
                  old "good, fast, cheap, pick any two" rule). But before I simply bail on
                  the task, I want to try to find a way to make it work.

                  Since there's no time for real design and working without one would be a
                  mistake, I think my only option here is some form of framework that will
                  allow me to quickly put together a basic website with all the generic
                  features the client is looking for (content creation, user comments,
                  forums, user auth/session, site layout/design management...), while
                  freeing me up to develop the unique features of the website.

                  There's no shortage of options for this type of framework
                  (http://www.cmsmatrix.org/). Many of these tools are very feature rich.
                  Most of them allow you to write and incorporate your own tools into
                  their framework.

                  The only requirement not generally addressed by these tools is
                  scalability. The one unanswered question is how much load can these
                  frameworks support (concurrent users and/or [typical] page requests per
                  timeframe)?

                  Drupal, for example, is used by Mozilla.org, which I'd guestimate would
                  be somewhere in the top 20 percentile of high traffic websites. Of
                  course, mozilla.org does not utilize a lot of the features of drupal and
                  perhaps is not the ideal measure of drupal's scalability. Nonetheless,
                  drupal is obviously capable of scaling well past the needs of the
                  average website.

                  But what if the client wants to be prepared to support hundreds of
                  thousands of concurrent users? Yes, I know what you're all thinking :)
                  That's quite an ambitious target. And it's not one that stands a
                  statistically significant chance of ever being reached.

                  My thought is that something like drupal would be capable of supporting
                  a site that is popular enough to have proven or disproven its business
                  plan. At that point, it may or may not be necessary to redesign the
                  site. But also at that point, there would be the money available to hire
                  a complete engineering team to address problems.

                  Yes, the requirements are ill-defined and the expectations unrealistic.
                  But I think a single developer with the right framework could stand a
                  chance at developing a decent, customized website in a relatively short
                  period of time. A site which would scale at least to the point that the
                  site is somewhat successful and capable of generating enough money to
                  take it to the next level, whatever that may require.

                  Ok, I've lost myself. :)

                  Comment

                  • Michael Vilain

                    #10
                    Re: how to jump start a brand new website (under the gun)

                    In article <0LUEe.67190$ro .53303@fed1read 02>,
                    Harry Slaughter <harryREMOVETHI S@slaughters.co m> wrote:
                    [color=blue]
                    > Jerry Stuckle wrote:[color=green]
                    > >
                    > > Sure I do. I have almost 40 years of programming experience.
                    > >
                    > > The point here is - if you're not sure you can do it in the timeframe
                    > > given, you can't. You obviously are relatively new to this, and a bit
                    > > unsure as to what you're doing.[/color]
                    >
                    > I've been doing Internet development for about 10 years, but I've never
                    > been responsible for developing an entire product from scratch with no
                    > dev team and little to no specification and a timeframe measured in
                    > weeks. I know most experienced developers wouldn't touch something like
                    > this. But I'd like to make an effort to match the client's expectations
                    > with the resource available for the task, me.
                    >
                    > I'm aware of what happens when you try to develop before you know what
                    > you're developing. And I can recognize mutually exclusive demands (the
                    > old "good, fast, cheap, pick any two" rule). But before I simply bail on
                    > the task, I want to try to find a way to make it work.
                    >
                    > Since there's no time for real design and working without one would be a
                    > mistake, I think my only option here is some form of framework that will
                    > allow me to quickly put together a basic website with all the generic
                    > features the client is looking for (content creation, user comments,
                    > forums, user auth/session, site layout/design management...), while
                    > freeing me up to develop the unique features of the website.
                    >
                    > There's no shortage of options for this type of framework
                    > (http://www.cmsmatrix.org/). Many of these tools are very feature rich.
                    > Most of them allow you to write and incorporate your own tools into
                    > their framework.
                    >
                    > The only requirement not generally addressed by these tools is
                    > scalability. The one unanswered question is how much load can these
                    > frameworks support (concurrent users and/or [typical] page requests per
                    > timeframe)?
                    >
                    > Drupal, for example, is used by Mozilla.org, which I'd guestimate would
                    > be somewhere in the top 20 percentile of high traffic websites. Of
                    > course, mozilla.org does not utilize a lot of the features of drupal and
                    > perhaps is not the ideal measure of drupal's scalability. Nonetheless,
                    > drupal is obviously capable of scaling well past the needs of the
                    > average website.
                    >
                    > But what if the client wants to be prepared to support hundreds of
                    > thousands of concurrent users? Yes, I know what you're all thinking :)
                    > That's quite an ambitious target. And it's not one that stands a
                    > statistically significant chance of ever being reached.
                    >
                    > My thought is that something like drupal would be capable of supporting
                    > a site that is popular enough to have proven or disproven its business
                    > plan. At that point, it may or may not be necessary to redesign the
                    > site. But also at that point, there would be the money available to hire
                    > a complete engineering team to address problems.
                    >
                    > Yes, the requirements are ill-defined and the expectations unrealistic.
                    > But I think a single developer with the right framework could stand a
                    > chance at developing a decent, customized website in a relatively short
                    > period of time. A site which would scale at least to the point that the
                    > site is somewhat successful and capable of generating enough money to
                    > take it to the next level, whatever that may require.
                    >
                    > Ok, I've lost myself. :)[/color]

                    OK, you might want to think about "level of effort" here. You've
                    already identified a possible solution you could make work in the
                    alloted time-frame. You don't have any sort of specs to work from so
                    you're just guessing on some things. Rather than obsess about "there
                    might be something better" out there, go with "good enough" and do the
                    week's worth of work, cash the check, and move on. They've only paid
                    for a week's worth of your time. What are your chances there will be
                    follow-on business?

                    I'd be looking for more long-term clients with more budget. If you want
                    the learning experience, put in the 1 week effort then move on.

                    --
                    DeeDee, don't press that button! DeeDee! NO! Dee...



                    Comment

                    • Harry Slaughter

                      #11
                      Re: how to jump start a brand new website (under the gun)

                      Michael Vilain wrote:[color=blue]
                      > In article <0LUEe.67190$ro .53303@fed1read 02>,[/color]
                      ............... .............[color=blue]
                      >
                      >
                      > OK, you might want to think about "level of effort" here. You've
                      > already identified a possible solution you could make work in the
                      > alloted time-frame. You don't have any sort of specs to work from so
                      > you're just guessing on some things. Rather than obsess about "there
                      > might be something better" out there, go with "good enough" and do the
                      > week's worth of work, cash the check, and move on. They've only paid
                      > for a week's worth of your time. What are your chances there will be
                      > follow-on business?
                      >
                      > I'd be looking for more long-term clients with more budget. If you want
                      > the learning experience, put in the 1 week effort then move on.[/color]

                      Yeah, I've gone with the Drupal framework. So far, so good. I'm able to
                      get straight to 'new things' without having to spend any time creating
                      the basic components of the website. I'm impressed with it so far.

                      In a situation where there are no specs, I think a CMS is almost a mandate.



                      Comment

                      Working...